【问题标题】:Building a VS2008 .NET 3.0 solution without installing .NET 3.5 on build server构建 VS2008 .NET 3.0 解决方案,无需在构建服务器上安装 .NET 3.5
【发布时间】:2009-11-11 10:20:57
【问题描述】:

我正在使用 3.0 和 VS 2008 进行开发。

问题是我的构建服务器没有安装 3.5,因此我无法构建解决方案,因为 2.0 的 MSBuild 将不支持 VS 2008 解决方案文件。

除了降级到 VS 2005 之外,没有简单的答案。

各位有什么想法吗?

【问题讨论】:

    标签: c# msbuild build-automation cruisecontrol.net msbee


    【解决方案1】:

    VS2008 支持 C# 3 - 您可能正在使用 C# 3 特定的功能,同时仍以 .NET 2.0 为目标。

    您不能在构建服务器上安装 .NET 3.5 是否有充分的理由?这将是我的首选解决方案,而不是回归您使用的 VS 版本。

    您可能可以自动降级解决方案/项目文件 - 如果您不做任何复杂的事情,只需更改版本号即可 - 但是让构建服务器使用与开发人员,IMO。

    【讨论】:

    • 我必须同意 - 如果可能的话,您应该升级服务器,然后,如果需要,明确说明您的项目中的目标
    • 您好小马托尼,我们的测试和生产服务器是 .NET 3.0。我打算将我的解决方案降级到 2005 年,但我真的想使用 VS 2008。不幸的是,MS 没有考虑用户可能想要使用 MSBUILD 来针对 VS 2008 3.0 解决方案而不安装 3.5。似乎是基于激励的软件发布。
    • 我无法更改生产和测试环境。我在一家大型银行工作,如果没有适当的程序,这是不可能的……
    • 您不需要更改生产环境或测试环境 - 只需更改构建环境(两者都不应计入)。您仍然可以以 .NET 3.0 为目标,但您必须使用 .NET 3.5 进行构建。无论如何,如果这不是一个选项,那么您确实应该在任何地方都使用 VS2005:在构建和开发环境中使用相同的编译器进行构建。
    • 它不是一个选项,因为 3.5 包含 .NET 3.0 的 SP。此 SP 尚未部署到测试和生产。我将降级到VS2005。不过,我仍然很好奇这是否可能。
    【解决方案2】:

    由于您有 VS2008 项目和解决方案,您需要在构建服务器上安装 .NET 3.5。由于您仍然可以以 .NET 3.0 或 .NET 3.5 为目标,因此在构建计算机上安装了 .NET 3.5 不会对目标环境产生任何影响。

    【讨论】:

    • 我同意,但是对于 3.5,有一个适用于 .NET 3.0 的 SP。此 SP 目前未安装在我们的测试和生产服务器上。
    • 在这种情况下,您可以使用 FxCop。 FxCop 将引发警告 CA1903,指示目标环境将需要 .NET 3.5 SP1。
    【解决方案3】:

    不“安装”就不能包含不同的版本吗?在存储库中,您可以添加版本化的 .NET 并将构建脚本指向您想要该项目的版本(我想像 Git 中的子模块)吗?所以不是安装 .NET 3.0、3.5、4.0 等包括库吗?

    【讨论】:

    • 环境需要复制生产环境。我们不会在我们的生产环境中这样做。因此不合适。
    猜你喜欢
    • 2016-10-24
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 2023-03-26
    • 2015-02-15
    • 2016-12-06
    • 2010-10-15
    • 1970-01-01
    相关资源
    最近更新 更多