【问题标题】:error MSB4096 : ... does not define a value for metadata "Name"错误 MSB4096:... 未定义元数据“名称”的值
【发布时间】:2016-01-15 23:51:09
【问题描述】:

我正在尝试在团队城市上构建具有多个角色和 webAPI 项目的 Azure 云服务。该解决方案在 VS 2013 上构建良好,但在团队城市上失败并出现以下错误。

[PrepareRoleItems] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Windows Azure Tools\2.5\Microsoft.WindowsAzure.targets(1326, 5): error MSB4096: The item "C:\TeamCity\buildAgent\work\96a0cadf65a06070\projWebAPI\projWebAPI.csproj" in item list "ProjectReferenceWithConfiguration" does not define a value for metadata "Name".  In order to use this metadata, either qualify it by specifying %(ProjectReferenceWithConfiguration.Name), or ensure that all items in this list define a value for this metadata.

[12:22:45]

两个问题

第一季度。如果有人之前在团队城市遇到过这个问题,请告诉我如何解决它

第二季度。如果没有,我正在考虑不让团队城市建立 sln 而是让视觉工作室来做。有没有办法从命令行调用 Visual Studio 来构建 Azure 云服务 sln。

【问题讨论】:

  • 我想通了。这是 MSBuild 乱序构建的东西。这个article 很好地描述了问题和解决方案。

标签: visual-studio azure msbuild teamcity


【解决方案1】:

我得到了 MSB4096 错误并尝试了各种方法让它消失。我认为这可能与最近添加新项目时对解决方案的一些更改有关。我只恢复了解决方案文件并重新构建了它。 MSB4096 错误消失了,但我得到了一些其他项目参考错误,这是意料之中的。然后我“取消还原”解决方案文件(即获得最新版本),并重新构建解决方案。一切正常 - 没有 MSB4096 错误。 O_o

我想这相当于将其关闭然后再打开。也许 Visual Studio 在某处缓存了一些数据,并且更改解决方案文件会迫使它重新构建缓存。我不知道,但如果你遇到这个问题,值得一试......

【讨论】:

    【解决方案2】:

    这在 Azure 云服务中帮助了我;解决方案中添加了一个额外的项目。解决方案中应该只有 web/worker 角色。

    [...] 我也可以通过删除解决方案文件中的依赖项来进行整理——删除现在不需要的行——你的 GUID 会有所不同,但使用 VS 对话框就可以完成这项工作。

    ProjectSection(ProjectDependencies) = postProject 
        {B79CE0B0-565B-4BC5-8D28-8463A05F0EDC} = {B79CE0B0-565B-4BC5-8D28-8463A05F0EDC}
    EndProjectSection
    

    来源:Answer to Question about Visual Studio *.sln file format,它本身引用了Microsoft forum discussion

    【讨论】:

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