你可以通过手工编辑.csproj
(或.vbproj
)文件来添加条件。
- 保存项目中的任何工作。
- 右键单击solution explorer中的项目节点,然后单击
Unload Project
。
- 整个项目将折叠成一个节点。右键单击该节点并选择
Edit <Project Name>.csproj
(或.vbproj
)。
向下滚动并查找您用于的DLL。它应该看起来像这样:
<ItemGroup>
<Content Include="bin\Release\x86\My.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
复制它并添加一个条件。在这种情况下,您想要基于平台进行更改。这是一种方法。请注意,您应该分析项目文件以确定为特定配置添加的最佳条件。您还应该更改目录以匹配您的32位和64位DLL文件的(相对)位置。
<ItemGroup Condition=" '$(PlatformTarget)' == 'x86' ">
<Content Include="bin\$(Configuration)\x86\My.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup Condition=" '$(PlatformTarget)' == 'x64' ">
<Content Include="bin\$(Configuration)\x64\My.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
Visual Studio中没有正确显示这(它会显示一个破碎的DLL链接和有效的DLL链接),但是放心这个方法的功能。这也有助于理解Visual Studio项目文件不过是一个MSBuild配置文件。因此,尽管Visual Studio不支持添加或显示条件或其他MSBuild选项的方法,但如果根据MSBuild文档进行配置,它们都将正常运行。
谢谢!这很好地处理平台特定的dll。我确实收到警告,我用' false '消除了。 –
2015-02-07 21:35:09
谢谢,我不知道''元素。我想还有一个[''元素](http://stackoverflow.com/questions/2961753/how-to-hide-files-generated-by-custom-tool-in-visual-studio#3090168)做同样的事情。但是,它们似乎不适用于有条件的项目引用,至少在VS2012中不适用。 –
NightOwl888
2015-02-11 09:37:15