不复制引用的库

Vla*_*ani 7 .net c# msbuild reference

我有引用ProjectB(ClassLibrary)的ProjectA(WPFApplication ).在ProjectB内部我有wpf窗口,它使用来自ThirdParty.dll的控件,因此我从ProjectB引用.

问题是它没有在ProjectA的输出文件夹中找到ThirdParty.dll,并且引发了xaml解析运行时异常.GAC中没有ThirdParty.dll."本地复制"设置为true.如果我在ProjectA的输出文件夹中手动添加该库,它也可以工作,如果我在我的cs文件中使用了ThirdParty.dll somwhere 它也可以工作.

我怎么解决这个问题?

Osk*_*lin 5

原因是如果设置了"复制本地",Visual Studio仅将资源复制到输出文件夹.只需设置复制本地的引用,你应该没问题.

查看此链接,了解其工作原理.

引用ProjectA时,不会自动引用ProjectB的引用.为此,您需要在ProjectA中添加对ThirdParty.dll的引用,如果您只在XAML中使用它.编译器不会复制仅在XAML中使用的引用.但是如果你在代码中使用它们,它们就会被复制.

这与此处讨论的问题相同

  • @Vladimir我刚检查过这个并更新了我的答案.您需要在c#代码(而不是xaml)中使用库才能自动复制它. (3认同)