首页 文章

msbuild没有Visual Studio(是Windows SDK安装和复制Local = true)

提问于
浏览
0

一个项目从Visual Studio构建得很好而没有开发人员 work station 的问题 . 现在我们需要更多它到DEV和UAT server . 我一整天都在苦苦寻求在没有安装Visual Studio的服务器上使用 msbuild 构建我的ASP.NET项目(服务器上不允许使用dev工具) -

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 SDKhttp://msdn.microsoft.com/en-US/windows/hardware/hh852363) - 出现了来自另一个Stackoverflow帖子的大量讨论(相关但不完全--Build ASP.NET 4.5 without Visual Studio on Build Server) . 您还需要添加到 environment variables 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: Copy local = true (这没有帮助 - 在ASP.NET应用程序的bin文件夹中找到了dll 's apparent msbuild can't)

它似乎是 bug with 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

有人有这方面的经验吗?

1 回答

  • 0

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

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

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

    有一点是将条件逻辑添加到构建文件中,因此它知道为交互式用户或纯构建环境设置不同的东西:

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

    我最终在我的案例中最终改进了构建解决方案,因此我不记得Excluded事件的具体示例 .

相关问题