【发布时间】:2011-09-20 17:22:40
【问题描述】:
我们有一个大型的 VS 2010 解决方案,主要是 C# 代码,但也有一些本地 DLL 是各种 C# 项目所依赖的(包括我们的单元测试 DLL)。我们正在尝试支持我们的库的 32 位和 64 位版本。所以我们现在将本地 DLL 构建为 32 位和 64 位。问题是我们的许多 C# 项目都有构建后事件,这些事件将所需的本机 DLL 复制到项目的 TargetDir 中。现在我们有两个不同版本的本地 DLL(32 位和 64 位),我需要能够指定正确的目录来复制本地 DLL。我原本以为我可以像这样在路径中简单地使用 $(Platform):
copy $(SolutionDir)\NativeDll\$(Platform)\$(Configuration) $(TargetDir)
但这不起作用,因为 $(Platform) 是项目的平台,而不是解决方案级别的平台。在这种情况下,$(Platform) 是“任何 CPU”。从我看到的 C# 项目中的构建后事件宏来看,似乎没有一种方法可以访问正在构建的解决方案级平台。有没有更好的方法来实现我的目标?
【问题讨论】:
-
如果您使用 xcopy /s /d /i /y 而不是复制,您将获得更快的构建(将跳过未更改的文件)。
标签: c# visual-studio 64-bit 32bit-64bit post-build-event