C#程序集嵌入和程序集解析

时间:2016-04-27 19:37:43

标签: c# fody-costura

我正在尝试构建一个样式和控件组件,我办公室的其他工程师可以使用它。例如,我有一个从WPFToolKit的DoubleUpDown控件派生的类型(MSpinner)。我也为这个MSpinner控件设置了一组样式。

在测试可执行文件中,我使用技术detailed here来访问资源,我也遵循这些资源来创建资源程序集。

我还在资源库上使用Nujeet上的Costura.Fody程序集嵌入工具,这样我就可以将WPFToolKit程序集嵌入到我的资源库程序集中。

我的资源库程序集构建得很好。 然后我继续使用我的资源库程序集作为新测试WPF可执行文件中的引用。

我的用法如下。

<Window x:Class="UIPart.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:ignore="http://www.galasoft.ch/ignore"
        xmlns:controls="clr-namespace:MyResources.Controls;assembly=MyResources"
        mc:Ignorable="d ignore"
        Height="300"
        Width="300"
        Title="MVVM Light Application"
        DataContext="{Binding Main, Source={StaticResource Locator}}">

    <Window.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Skins/MainSkin.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Window.Resources>

    <Grid x:Name="LayoutRoot">

        <controls:MSpinner/>

    </Grid>
</Window>

但是,当我编译可执行文件时,我收到以下错误。

  

严重级代码描述项目文件行抑制状态   错误未知的构建错误,&#39;无法解析对程序集的依赖性   &#39; Xceed.Wpf.Toolkit,Version = 2.7.0.0,Culture = neutral,   公钥= 3e4669d2f30244f4&#39;因为它还没有预装。   使用ReflectionOnly API时,必须使用相关的程序集   通过预先加载或按需加载   ReflectionOnlyAssemblyResolve事件。 24号线位置   10&#39; UIPart C:\ Users \ heyyouthere \ Documents \ Visual Studio 2015 \ Projects \ ResourceDictionaryExample \ UIPart \ MainWindow.xaml 24

我首先想到的是,Costura.Fody没有正确地完成工作,并没有嵌入WPF.ToolKit程序集,但它实际上是根据结果资源的字节大小库程序集,当执行Costura.Fody的嵌入时确实更大。

然后我想继续并在可执行文件中引用WPFToolKit本身,听起来有点多余,当然,但为什么不呢。所以我从NuGet安装了它,不料,错误消失了,一切正常。

然而,这对我来说不是一个解决方案。需要将这些资源的所有资源和所有依赖项合并到我的资源库中,包括WPFToolkit,以便我认为这是成功的。

我的问题是为什么大会没有解决?有些签名不匹配吗?是否明确在磁盘上查找Xceed.Wpf.Toolkit.dll文件? Aren在我的资源库中嵌入的Xceed.Wpf.Toolkit.dll中定义的类型归功于Fody?

0 个答案:

没有答案