使用多目标时 C# 输出文件名中的目标框架
Target framework in output file name from C# when using multi targets
当我编译 C# 应用程序时,输出的文件名是 ProjectName.dll。
但是如果我想要文件名是 ProjectName.net46.dll?
怎么办
编辑
我希望输出为 ProjectName.net46.dll 和 ProjectName.net40.dll 如果我使用<TargetFrameworks>net46;net40</TargetFrameworks>
经过一番调查,我找到了this line。基于此,解决方案原来如此简单:
<PropertyGroup>
<TargetFrameworks>net4.0;net4.6</TargetFrameworks>
<AssemblyName>$(MSBuildProjectName).$(TargetFramework)</AssemblyName>
</PropertyGroup>
使用此解决方案,*.exe、*.dll 和 *.pdb 文件都将获得新名称。而且这个解决方案还可以进行调试和单元测试。
当我编译 C# 应用程序时,输出的文件名是 ProjectName.dll。 但是如果我想要文件名是 ProjectName.net46.dll?
怎么办编辑
我希望输出为 ProjectName.net46.dll 和 ProjectName.net40.dll 如果我使用<TargetFrameworks>net46;net40</TargetFrameworks>
经过一番调查,我找到了this line。基于此,解决方案原来如此简单:
<PropertyGroup>
<TargetFrameworks>net4.0;net4.6</TargetFrameworks>
<AssemblyName>$(MSBuildProjectName).$(TargetFramework)</AssemblyName>
</PropertyGroup>
使用此解决方案,*.exe、*.dll 和 *.pdb 文件都将获得新名称。而且这个解决方案还可以进行调试和单元测试。