在我的解决方案中,有一个类库,它是一个excel加载项。当我构建解决方案或项目时,我希望首先构建此项目以针对x86进行构建,并输出名为xxx.dll
的文件,然后针对x64进行定位,并输出名为xxx_x64.dll
的文件。
我该怎么做,或者我怎么能编辑csproj文件?感谢。
答案 0 :(得分:1)
我该怎么办呢,或者我怎么编辑csproj文件?
程序集xxx.dll的名称由项目文件中的属性AssemblyName
定义,如果要更改以platform命名的默认输出程序集,可以使用以下代码简单地更改此属性的值在项目文件.csproj
中:
<AssemblyName>TestWithDllWithPlatform_$(Platform)</AssemblyName>
但是使用此设置,当您为x86定位时,您将获得名为xxx_x86.dll
的输出程序集。
如果您仍希望通过输出名为xxx.dll
而非xxx_x86.dll
的文件来定位x86,则可以尝试在定位x64
时使用生成后事件重命名dll文件:
if $(Platform) == x64 (copy /y "$(TargetPath)" "$(ProjectDir)$(OutDir)$(TargetName)_$(Platform).dll")
在这种情况下,当您定位x64
时,输出名为xxx_x64.dll
的程序集:
此外,如果您不想保留原始xxx_.dll
,可以在后期构建中使用以下命令将其删除:
if $(Platform) == x64 (del "$(TargetPath)")
希望这有帮助。
答案 1 :(得分:0)