我有一个包含两个项目的解决方案: - projectA有一个对ServiceStack ormlite的nuget引用 - projectB引用了projectA
当我构建解决方案时,projectA的outdir包含来自nuget包(4个程序集)的所有程序集,而projectB只复制其中的2个程序集。显然,当我开始它时,我得到一个FileNotFoundException
。
我已经尝试过添加private=true
标志
我已经看到很多关于这个问题的引用了,现在它在这里发生的事情变得非常困惑(似乎msbuild没有处理引用我认为是我唯一知道的方式:()。
知道可以采取哪些措施来建立我的解决方案?
答案 0 :(得分:2)
构建只会将projectA实际使用的程序集复制到projectB的输出文件夹,并导致projectA的输出程序集中的引用,而不管projectA引用哪些程序集。
您可以使用Reflector或ildasm打开projectA的程序集,并查看这4个程序集中只有2个实际使用和引用。
如果程序集需要在运行时为projectB存在,那么也要将对NuGet包的引用添加到projectB,或者确保它们被复制。这篇文章显示了general-purpose solution,但我还没试过。