C#项目引用不起作用 - .dll不在输出文件夹中,因为它只在XAML

时间:2017-11-03 16:08:35

标签: c# wpf xaml dll

在我的工作中,我们最近遇到了有关项目参考的问题。

我有一个名为EntryPoint的入口项目,它引用了我的主要项目MainProject。我的主项目已将一个引用添加到另一个名为ImportantProject的重要项目中,该项目在名为ResourceDictionary的文件中包含一个重要的ImportantResources.xaml

我的主项目中有一个Window,它使用重要的ResourceDictionary,代码如下:

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/ImportantProject;component/ImportantResources.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>

在设计我的Window时,一切都完美无瑕,我可以完全访问重要项目的资源。但是,当我运行我的程序时,它会立即崩溃。

  

抛出异常:&#39; System.Windows.Markup.XamlParseException&#39;在   PresentationFramework.dll

     

其他信息:&#39;设置属性   &#39; System.Windows.ResourceDictionary.Source&#39;抛出异常。&#39;线   号码&#39; 11&#39;和行位置&#39; 18&#39;。

当我查看输出文件夹(/EntryPoint/bin/Debug)时,我注意到没有ImportantProject.dll文件,我认为这是崩溃发生的原因。

如何确保.dll文件出现在输出文件夹中?
我想要一个全球解决方案,它适用于将来可能出现的所有Important项目。

Here's a full code sample on GitHub

1 个答案:

答案 0 :(得分:1)

EntryPoint似乎没有对ImportantProject的引用。如果您添加对ImportantProject的引用,它运行正常。

如果项目A引用了引用项目C的项目B,那么项目A需要引用项目B和C。