我有一些本机dll有两种版本 - 为x86和x64构建。根据我的项目平台配置,我想将正确的dll复制到文件夹中。
我尝试了什么
<ItemGroup>
<_nativex86 Include="native\myNativex86folder\*.*" />
<_nativex64 Include="native\myNativex64folder\*.* />
</ItemGroup>
<Target Name="AfterBuild">
<Copy Condition="$(Platform) == x86"
SourceFiles = "$(_nativex86)"
DestinationFolder = "$(OutputPath)native" />
<Copy Condition="$(Platform) == x64"
SourceFiles = "$(_nativex64)"
DestinationFolder = "$(OutputPath)native" />
</Target>
然而,没有任何东西被复制。我该怎么办?
答案 0 :(得分:1)
尝试以下方法:
<ItemGroup>
<_nativex86 Include="native\myNativex86folder\*.*" />
<_nativex64 Include="native\myNativex64folder\*.* />
</ItemGroup>
<Target Name="AfterBuild">
<Copy Condition=" '$(Platform)' == 'x86' "
SourceFiles = "$(_nativex86)"
DestinationFolder = "$(TargetDir)native" />
<Copy Condition=" '$(Platform)' == 'x64' "
SourceFiles = "$(_nativex64)"
DestinationFolder = "$(TargetDir)native" />
</Target>
我为Condition
中的值添加了引号。
您还可以尝试使用$(SolutionDir)
(或$(ProjectDir)
,$(OutputPath)
等,根据文件所在的位置)添加“原生”路径,以使其成为可能完整路径。