【问题标题】:MahApps.Metro cannot load file or assembly in Visual Studio extensionMahApps.Metro 无法在 Visual Studio 扩展中加载文件或程序集
【发布时间】:2015-12-01 15:35:12
【问题描述】:

我在我的 XAML 代码中为 Visual Studio Extension 中的工具箱使用 MahApps.Metro 控件。我通过 NuGet 安装了这个包,然后我尝试在我的 XAML 标记中添加一个控件。下面是代码sn-p。

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:custom="http://metro.mahapps.com/winfx/xaml/controls" 
    x:Class="AutoDebug.MyControl"
    Background="{DynamicResource VsBrush.Window}"
    Foreground="{DynamicResource VsBrush.WindowText}"
    mc:Ignorable="d"
    d:DesignHeight="500" d:DesignWidth="400"
    DataContext="{Binding UserControlModel}"
    x:Name="AutoDebugWindow">

    <Grid Margin="15">
        <custom:Tile Content="Tile" HorizontalAlignment="Left" Margin="75,150,0,0" VerticalAlignment="Top" Background="#FF8B00BF"/>
    </Grid>
</UserControl>

但无论如何我都会收到以下错误。

在 PresentationFramework.dll 中发生了“System.Windows.Markup.XamlParseException”类型的第一次机会异常

附加信息:无法加载文件或程序集“MahApps.Metro,PublicKeyToken=null”或其依赖项之一。系统找不到指定的文件。

我已经尝试安装/卸载、删除/添加引用,但到目前为止没有任何效果。

【问题讨论】:

  • 阅读快速入门文档,您应该可以使用它:mahapps.com/guides/quick-start.html
  • 我已按照步骤操作。但这无济于事。同时添加代码供参考。
  • @shahzad Visual Studio Extension 似乎没有加载 MahApps dll...
  • @punker76 是的,看起来是这样。但我无法弄清楚为什么
  • @shahzad- 已解决您的问题。是的,那么请。

标签: wpf xaml visual-studio-extensions mahapps.metro


【解决方案1】:

这是因为在编译 Visual Studio 扩展时,MahApps.Metro 没有作为参考包含在内。

我不完全确定为什么,但如果您只在 XAML 中使用 MahApps,那么编译的程序集中不会包含任何引用。您可以通过解压缩扩展(它只是一个 zip 文件)并在 ILSpy 中打开程序集来检查这一点。在参考文献下,MahApp 不会被列出。

解决方法是在代码中的某处使用 MahApps。最简单的方法是命名您正在使用的 MahApps 控件。这会为控件生成一个字段,这似乎足以导致程序集中包含一个引用。

<Grid Margin="15">
    <custom:Tile x:Name="MyTile" />
</Grid>

您还可以在代码中的任何其他位置使用来自 MahApps 程序集的对象(例如,您可以在 Package 的构造函数中创建一个新对象),但为其中一个控件命名可能是最简单的方法.

【讨论】:

    猜你喜欢
    • 2014-02-12
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    相关资源
    最近更新 更多