【问题标题】:Unable to apply publish properties for item X无法为项目 X 应用发布属性
【发布时间】:2012-03-06 06:18:40
【问题描述】:

每当我们在主解决方案中进行构建时,都会收到以下警告:

无法为项目应用发布属性 “microsoft.visualstudio.qualitytools.unittestframework”。

有没有人见过这样的事情?有想法该怎么解决这个吗?它发生在我们所有的开发人员机器上,也发生在我们的 TFS 构建服务器上。但是,它只出现在 Debug 模式。

【问题讨论】:

    标签: c# visual-studio-2010 visual-studio visual-studio-2012 clickonce


    【解决方案1】:

    该问题似乎与 ClickOnce 相关。导航到项目,右键单击它并单击属性。转到发布选项卡并单击应用程序文件。选中“显示所有文件”复选框并滚动文件列表。最终,您会遇到带有黄色感叹号的文件。此文件是孤立的,需要删除。右键单击该文件,应该有一个删除选项。

    现在构建解决方案,警告应该消失了。

    【讨论】:

    • 那是我两次用谷歌搜索这个问题并找到了这个答案。最终我会学会的。 :p
    • Show all files 是这里的关键。
    • @NickSpreitzer 我第三次了。这次我什至对自己的评论感到惊讶。
    • 您还可以更新您的 csproj 文件以处理“PublishFile”部分。当然,这必须非常小心。
    【解决方案2】:

    投票最多的答案就目前而言是完美的,但我们这些处理更大爆发的人可能会从这个替代答案中受益。它描述了文件级别的类似修复。

    警告是由这样的元素引起的:

    <PublishFile Include="THIS IS USUALLY SOME IMAGINARY DLL">
      <Visible>False</Visible>
      <Group>
      </Group>
      <TargetPath>
      </TargetPath>
      <PublishState>Exclude</PublishState>
      <IncludeHash>True</IncludeHash>
      <FileType>Assembly</FileType>
    </PublishFile>
    

    ...在项目文件 (.csproj) 中发出警告。注意 PublishState “排除”;这个元素说“请不要发布虚构的 DLL”;如果在发布时没有这样的 DLL,这显然是一个不必要的指令,但它也会导致警告,因为发布过程无法评估文件的身份。

    您可以删除警告中提到的每个部署项的整个 PublishFile 元素,只要它具有 PublishState“排除”。不要使用 PublishState "Exclude" 机械地删除每个元素,因为如果没有关于它的警告,则该文件可能在发布时可用并且最终可能会发布 - 只要您只想这样做,这将是一个不需要的产品更改摆脱警告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-31
      • 1970-01-01
      相关资源
      最近更新 更多