c# - 在 32 位和 64 位处理器上开发,我应该如何构建我的项目以自动引用正确的 dll?

标签 c# visual-studio-2010 dll 32bit-64bit virtualization

我目前的情况是,我有 32 位和 64 位开发人员机器在我的 c# 项目上工作。我必须引用几个同时具有 32 位和 64 位版本的 dll。显然,32位机器需要引用32位dll,64位机器需要引用64位dll。我遇到的问题是,每次开发人员 checkin 一些代码时,他们也会 checkin 他们的 dll 引用,所以当另一方的人拉取他们的代码时,它不会构建,他们必须手动更新他们的引用他们应该是什么。然后他们 checkin ,其他开发人员必须手动修复他们的引用,等等,令人作呕。

我不认为这是一个新问题,但这是我第一次遇到它。是否有一种常见的做法是让项目自动为 CPU 引用正确的 dll?或者也许有一种方法来拥有一个 32 位和 64 位项目,每个项目都有正确的引用,以及一种方法(可能是命令行工具或一些可以绑定(bind)到构建中的外部工具)将它们绑定(bind)在一起,以便在新项目出现时添加或删除一个,另一个是否也会更新?

另一种选择是让每个开发人员都使用相同的虚拟化开发环境。如果我走这条路,我可以在 32 位硬件上虚拟化 64 位系统,还是我必须走另一条路,虚拟化 32 位。这将是一个 SaaS 产品,所以我只需为一个处理器部署,我希望它是 64 位的。

最佳答案

您可以在此处找到有关如何根据目标平台更改程序集引用的示例:

http://www.ryangerard.net/post/8768828095/how-to-change-visual-studio-assembly-references

(您必须手动更改 .csproj 文件)。不要忘记,在 32 位机器上选择“x86”作为目标平台,而在 64 位机器上,选择“x64”)。

关于c# - 在 32 位和 64 位处理器上开发,我应该如何构建我的项目以自动引用正确的 dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4535248/

相关文章:

c# - 决定何时使用 XmlDocument 与 XmlReader

c# - 将 C# 类模板恢复为默认模板

c++ - 如何在 C++ 中进行内联汇编 (Visual Studio 2010)

c++ - 使用 Cmake 为 Visual Studio 2015 构建 OpenCV 3.0.0 的 DLL

c - 如何使用 Mingw 将调试符号放入 DLL,或将它们提取到 dbg 文件?

visual-c++ - _imp 和 __imp 有什么区别?

c# - 由任务计划程序启动时隐藏 C# 控制台应用程序窗口

c# - 在 C# 控制台应用程序中访问 dbContext

c# - x64 位 Azure 机器上 DateTimeOffset 的平均大小是多少?

visual-studio-2010 - 为 VS2010 购买 R# 真的值得吗?