2012-05-09 27 views
4

我有一个解决方案至极包括主要应用MainProject和几个插件项目Plugin1Plugin2等他们每个人是建立在Visual Studio中一个单独的项目。VS/MSBUILD:子项目的复制输出文件不增加引用到exe

为了构建洞,我希望插件的所有文件都被复制到主应用程序的输出目录中。但我不希望MainProject.exe包含对插件dll的明确引用(它们是动态加载的)。因此,为MainProject定义项目引用不起作用。

我可以使用后期构建步骤“手动”复制文件(如C# - Copy dlls to the exe output directory when using dependency injection with no references?中所述),但由于每个插件可能有多个文件,并且它们也会不时更改,因此此解决方案相当繁琐保持(特别是因为我有不同的构建配置,他们每个产生不同的文件)。另外,我想轻松选择,应该为特定版本复制哪些插件。

什么是最好的方式,可能涉及到自定义MSBuild配置更改,要做到这一点?

+1

你有没有找到一个好办法做到这一点?我想如果有人为VS2012编写了一个漂亮的插件,并为它定制了一个自定义的MSBuild步骤,这将会非常实用而且很棒! –

回答

0

请参阅此链接:http://msdn.microsoft.com/en-us/library/bb629394%28v=vs.100%29.aspx 当主体工程调用的MSBuild,如果你能传递线的东西:

msbuild /p:CustomBeforeMicrosoftCommonTargets=[your custom msbuild file];PluginList=PathToPlugin1.csproj,PathToPlugin2.csproj 

在您的自定义的MSBuild文件,目标如GatherInfo会得到你的输出每个插件项目文件的路径。看到这个问题的示例:https://stackoverflow.com/questions/23346782/how-to-identify-files-needed-to-build-a-wix-project

相关问题