2012-05-09 65 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

相關問題