2017-04-23 33 views
0

當我編譯C#應用程序時,輸出的文件名是ProjectName.dll。 但我該怎麼辦,如果我想要的文件名是ProjectName.net46.dll使用多個目標時從C#輸出文件名中的目標框架

編輯

我想要的輸出是ProjectName.net46.dllProjectName.net40.dll如果我使用<TargetFrameworks>net46;net40</TargetFrameworks>

+0

可能重複的[MSBuild覆蓋輸出文件名](http://stackoverflow.com/questions/7489902/msbuild-override-output-file-name) – Serge

+0

我已經看到了這個問題,並嘗試使用它。但我無法弄清楚如何改變它以適應我的需求。 – magol

回答

0

一些調查後,我發現this line。在此基礎上,該解決方案被證明是如此簡單:

<PropertyGroup> 
    <TargetFrameworks>net4.0;net4.6</TargetFrameworks> 
    <AssemblyName>$(MSBuildProjectName).$(TargetFramework)</AssemblyName> 
    </PropertyGroup> 

通過這一解決方案,既爲* .exe,* .dll和* .pdb文件被歌廳的新名稱。此解決方案還可以進行調試和單元測試。