有没有办法确保 visual studio 解决方案中的特定 visual studio 项目仅构建在构建服务器(或特定服务器)上
Is there a way to ensure a specific visual studio project in a visual studio solution is only built on a build server (or a specific server)
基本上,我想阻止开发人员在仅构建服务器 can/should 构建的解决方案中构建其中一个项目。
或者,开发人员会有一个包含项目 A、B、C 而不是 D 的解决方案。但是,构建服务器会将项目 D 添加到解决方案中。然后使用项目 A、B、C 和 D 构建解决方案。
这可以通过代码 and/or 配置完成吗?
谢谢
不一定 - 如果代码可用,开发人员可以构建它。例如,可以从源代码创建项目文件并构建它以便能够调试代码。
您可以使用 NuGet 导入预构建的程序集 - 这样您就不会在本地构建此类代码。
注意:确保您了解人们想要在本地构建该代码的原因 - 调试是非常常见的原因,降低调试体验会拖慢您的团队。
可能的解决方案之一是创建不同的 build configurations。每个构建配置都将包含正确 运行 所需的项目。
简化示例:
开发人员可以使用默认 Debug
配置将项目 A、B 和 C(D 必须从该配置中排除)构建到本地 运行 应用程序。
Production
配置将包括所有项目(A、B、C 和 D),并且您的持续集成系统将使用该配置来构建您的解决方案。
记住别人说的话,你不会能够保护项目D免受手动或意外构建,只要因为它留在同一个解决方案中。
基本上,我想阻止开发人员在仅构建服务器 can/should 构建的解决方案中构建其中一个项目。
或者,开发人员会有一个包含项目 A、B、C 而不是 D 的解决方案。但是,构建服务器会将项目 D 添加到解决方案中。然后使用项目 A、B、C 和 D 构建解决方案。
这可以通过代码 and/or 配置完成吗?
谢谢
不一定 - 如果代码可用,开发人员可以构建它。例如,可以从源代码创建项目文件并构建它以便能够调试代码。
您可以使用 NuGet 导入预构建的程序集 - 这样您就不会在本地构建此类代码。
注意:确保您了解人们想要在本地构建该代码的原因 - 调试是非常常见的原因,降低调试体验会拖慢您的团队。
可能的解决方案之一是创建不同的 build configurations。每个构建配置都将包含正确 运行 所需的项目。
简化示例:
开发人员可以使用默认 Debug
配置将项目 A、B 和 C(D 必须从该配置中排除)构建到本地 运行 应用程序。
Production
配置将包括所有项目(A、B、C 和 D),并且您的持续集成系统将使用该配置来构建您的解决方案。
记住别人说的话,你不会能够保护项目D免受手动或意外构建,只要因为它留在同一个解决方案中。