【问题标题】:msbuild with no Visual Studio (Yes Windows SDK installed & Copy Local=true)没有 Visual Studio 的 msbuild(是的 Windows SDK 已安装 & Copy Local=true)
【发布时间】:2014-06-20 20:50:16
【问题描述】:

一个项目可以从 Visual Studio 中很好地构建,开发人员工作站没有问题。现在我们需要将它更多地发送到 DEV 和 UAT server。我整天都在苦苦挣扎,试图在没有安装 Visual Studio 的服务器上使用 msbuild 构建我的 ASP.NET 项目(服务器上不允许开发工具) -

The type or namespace name 'Optimization' does not exist in the namespace 'System.Web'
The type or namespace name 'DotNetOpenAuth' could not be found

进行了几次尝试:

1. 安装 Windows SDK (http://msdn.microsoft.com/en-US/windows/hardware/hh852363) - 似乎从另一个 Stackoverflow 帖子中进行了很多讨论(相关但不完全 - Build ASP.NET 4.5 without Visual Studio on Build Server) .您还需要添加到 环境变量 PATH

C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools

(这没有帮助)

2: gacutil 来安装 dll 的? (没有 vs 命令提示符 - 如前所述,服务器上不允许使用开发工具/Visual Studio)

3: 将 dll 复制到(即与 MSBuild.exe 相同的文件夹): C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ (这没有帮助)

4: 复制本地=真 (这没有帮助 - dll 的明显 msbuild 无法在 ASP.NET 应用程序的 bin 文件夹中找到)

这似乎是 msbuild 的一个错误 - http://social.msdn.microsoft.com/Forums/vstudio/en-US/434abf1a-30db-4b13-8062-13755898dd71/msbuild-is-unable-to-link-to-a-webapplication-project?forum=msbuild

有人有这方面的经验吗?

【问题讨论】:

    标签: asp.net .net msbuild


    【解决方案1】:

    感谢您的反馈。这是在 VS 2012 中进行的有意更改。从构建配置中排除的项目不会在您构建该配置时构建。

    是的,我有过这方面的经验。我发现在 IDE 中排除项目很方便,我想我记得这样稳定的库不会经常重建;但用户可以右键单击该项目并直接构建一次或在真正需要时构建。

    但是,它破坏了 MSBuild.exe 命令行构建,因为这些项目根本不可用。

    一件事是向构建文件添加条件逻辑,以便它知道为交互式用户或纯构建环境设置不同的东西:

    Condition="'$(BuildingInsideVisualStudio)' == 'true'"
    

    在我的案例中,我最终改进了构建解决方案,所以我不记得 Excluded 事物的具体示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-13
      • 2011-02-03
      • 1970-01-01
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多