我有一个项目“ProjA”,它包含了对其他几个项目和一些“插件”程序集的引用。所有这些引用都将Copy Local设置为'True'。请注意,插件程序集中的代码(项目引用)不直接在“ProjA”中引用,而是通过DI / Ninject加载和定位。 (所以我使用这些项目引用作为将插件程序集放入输出文件夹的方法,请参阅下面的原因)
我还有项目“ProjB”,它引用了ProjA。它调用ProjA代码,它应该使用引用的插件程序集来完成它。
问题是,它不起作用。插件程序集不会从ProjA输出文件夹(它们被“本地复制”进入)复制到ProjB输出文件夹中。所以Ninject没有加载它们,事情就失败了。
所以我的两个问题:
我还考虑并使用了插件项目的后期构建步骤(不理想:我将它们从另一个中提取到这个新解决方案中,如果我添加后构建步骤,它可能会搞砸另一个解决方案)或依赖于它们的项目(这是好的,但是具有相对路径的XCopy,并且必须手动设置项目依赖性......似乎更加hacky)。
我有什么遗漏,有什么想法吗?如果复制本地链接跨项目引用它将完全适合..
答案 0 :(得分:0)
似乎无法使用Visual Studio或msbuild。
答案 1 :(得分:-2)
复制local = true是所有VS邪恶的来源。 嗯,至少是最重要的。
我只是说 - 不要使用它。有一个很好的outputdir,比如T:\ Bin,并使用post build脚本将所需的一切复制到该目录。从那里跑。 不要只相信VS,像盲人一样四处走动。
您也可以考虑使用GAC。