Continuous integration 在持续集成(CCNET)期间交换参考版本

Continuous integration 在持续集成(CCNET)期间交换参考版本,continuous-integration,cruisecontrol.net,Continuous Integration,Cruisecontrol.net,我正在领导一个由4人组成的团队,开发一个针对32位和64位机器的应用程序。我们面临的挑战之一是,当在64位机器上构建(以及部署和单元测试)时,我们使用的第三方DLL之一需要是64位版本,当我们在32位机器上运行测试套件时,它需要是32位版本 有没有办法自动管理这些引用的版本?您需要在每个项目中创建一个新配置:一个用于32位,另一个用于64位。在每个项目中,在此配置上调整对每个第三方程序集的引用: <Reference Include="ThirdPartyx86.dll" Conditio

我正在领导一个由4人组成的团队,开发一个针对32位和64位机器的应用程序。我们面临的挑战之一是,当在64位机器上构建(以及部署和单元测试)时,我们使用的第三方DLL之一需要是64位版本,当我们在32位机器上运行测试套件时,它需要是32位版本


有没有办法自动管理这些引用的版本?

您需要在每个项目中创建一个新配置:一个用于32位,另一个用于64位。在每个项目中,在此配置上调整对每个第三方程序集的引用:

<Reference Include="ThirdPartyx86.dll" Condition="'$(Configuration)' == 'Debug32'" />
<Reference Include="ThirdPartx64.dll" Condition="'$(Configuration)' == 'Debug64'" />

您需要在每个项目中创建一个新配置:一个用于32位,另一个用于64位。在每个项目中,在此配置上调整对每个第三方程序集的引用:

<Reference Include="ThirdPartyx86.dll" Condition="'$(Configuration)' == 'Debug32'" />
<Reference Include="ThirdPartx64.dll" Condition="'$(Configuration)' == 'Debug64'" />
或者使用$(平台)属性。
例如,($Platform)='x86'或($Platform)='x64'

或使用$(Platform)属性。

例如,($Platform)='x86'或($Platform)='x64'

我认为您仍然需要单独的配置(我不认为您可以将平台传递给msbuild?)。但这些只是定义了构建所基于的平台。如果前面的建议不起作用,多文件选项将是我的第二选择。只需要从VS中修改可用的配置是一个很大的好处。我认为您仍然需要单独的配置(我不认为您可以将平台传递给msbuild?)。但这些只是定义了构建所基于的平台。如果前面的建议不起作用,多文件选项将是我的第二选择。只需要在VS中修改可用的配置是一个很大的好处。这在我今晚完成的POC项目中非常有效。我让应用程序使用相同的第三方组件,在我的x64开发机器和运行CCNet的x86服务器上都能完美地工作,无需修改。谢谢这在我今晚完成的POC项目中非常有效。我让应用程序使用相同的第三方组件,在我的x64开发机器和运行CCNet的x86服务器上都能完美地工作,无需修改。谢谢