【问题标题】:TeamCity WindowsAzure.targets causing errors in deploymentTeamCity WindowsAzure.targets 导致部署错误
【发布时间】:2017-01-26 19:43:27
【问题描述】:

我们目前正在尝试设置一个 Angular 2 项目,该项目在其解决方案中也包含一个云服务项目。我们已经建立了许多包含云服务项目的 Angular 1 项目,并且没有出现任何错误。在尝试为 Angular 2 项目运行 MSBuild 步骤时,我们在 TeamCity 构建服务器上收到以下错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Windows Azure Tools\2.7\Microsoft.WindowsAzure.targets(2787, 5): error MSB3021: Unable to copy file "C:\TeamCityBuildAgent\temp\buildTmp\.NETFramework,Version=v4.6.1.AssemblyAttributes.cs" to "C:\SourceControlFolder\Apps\MyApp\MyApp.CloudDeployment\obj\Debug\Website\C:\TeamCityBuildAgent\temp\buildTmp\.NETFramework,Version=v4.6.1.AssemblyAttributes.cs". The given path's format is not supported.

主要问题似乎是构建试图将完整的C:\TeamCityBuildAgent.. 路径放入obj\Debug\Website 文件夹。

我当前的 MSBuild 参数是: /p:Configuration="Dev" /p:platform="Any CPU" /p:OctoPackEnforceAddingFiles=true /p:OctoPackProjectName=MyApp_Dev

我尝试了以下解决方案:

  1. 确保已安装最新的 Visual Studio 更新(用于 MSBuild)
  2. 运行安装工具来修复构建服务器上的 Azure Tools 2.7。
  3. 在构建中更改调试配置。
  4. 确保在构建服务器上安装 TypeScript 1.7.6(即使这是 Azure.targets 问题)[https://github.com/Microsoft/TypeScript/issues/6215]
  5. 将项目更新到 Azure 工具 2.9。相同的错误仍然存​​在,只是它现在在 2.9 文件夹上失败。

想知道是否有其他人遇到过此错误并知道解决方法。当我尝试其他解决方案时,我会不断更新这篇文章。

更新

似乎导致此问题的原因是 .csproj 文件中的这一行: <FilesToIncludeForPublish>AllFilesInProjectFolder</FilesToIncludeForPublish> 这是为我们的构建配置指定的,用于将 ng 构建生成的所有文件复制到发布的输出目录。目前我不明白这是如何在所有开发人员的本地机器上工作的,但在我们的构建服务器上却不起作用。当我发现更多信息或任何类型的解决方法时,将保持发布。

【问题讨论】:

    标签: azure angular msbuild teamcity


    【解决方案1】:

    这最终解决了问题:

    我们没有针对 MSBuild 中的 .sln,而是专门针对 .csproj 文件。这修复了构建错误并允许我们将 FilesToIncludeForPublish 标记保留在内部。

    【讨论】:

      猜你喜欢
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多