VisualStudio 警告: “无法读取与解决方案关联的某些属性”

当我打开解决方案时,会出现一个带有此警告的对话框。解决方案(一个 Web 应用程序,一个类项目)构建没有错误。

如何确定哪些属性导致了问题,并解决错误?

43528 次浏览

我刚刚修复了一个类似的问题与 VS2010解决方案的35个项目... 原因是一个重复

GlobalSection(TeamFoundationVersionControl)

解决方案文件中的。我关闭了解决方案,删除了重复的 GlobalSection (TeamFoundationVersionControl)配置并重新加载了解决方案,警告消息消失了。

如果这不是你的问题,考虑到你只有2个项目,我会丢弃破碎的解决方案文件,创建一个新的解决方案,并重新添加您的两个项目..。

我刚刚修复了一个类似的问题在 VS2012与 44项目。

原因是一个重复的 GlobalSection(TeamFoundationVersionControl)部分的组合(一个 la Boycs 的答案) ,但我也有几个重复的项目-以及一些参考项目最近被删除-在我保留的 GlobalSection(TeamFoundationVersionControl)部分。

一旦我确保所有引用的项目与我的解决方案中的实际项目1:1对应,警告就消失了。

旁白: 我怀疑,如果更密切地关注这些问题,大多数问题都可以避免。在分支和提交合并期间,但是谁知道 VS 有时候在想什么..。

解决了一个相同的错误消息在 VS2012下面博伊茨的领导。对我来说,问题在于 SLN 文件底部的两个无关的 GlobalSection(SolutionConfigurationPlatforms) = preSolution块。

我在 vs2012中修复了类似的问题。

在我的例子中,问题是 MySolutionName.sln 文件中 GlobalSection 中的 SccProjectName0属性值是空的。

我通过设置 SccProjectName0值和从另一个解决方案复制这个字符串值,并将字符串中项目的名称替换为当前的名称(顺便说一句,如果你的项目名称为空格(’) ,它需要替换为’u0020’)来解决这个问题。

*

在我的例子中,问题开始于我错误地用旧的 MySolutionName.sln 文件打开了由 TFS 控制的解决方案,而这个解决方案是由 VSS 控制的。

这个警告似乎有很多原因。我得到它是因为我的解决方案文件 SccNumberOfProjects = 4时,只有3。

我犯了很多以上的错误。 我重新命名了项目,保存关闭,重新打开更改了名称回来。这将重新创建。在我的情况下,取出了所有额外的项目。

对我来说,问题是每行末尾都有空格(因为复制粘贴)。通过删除它们,我没有再次得到错误。

我也有同样的问题,我的解决办法是:

  1. 在 VS 中打开解决方案
  2. 将解决方案平台设置为默认值
  3. 省省吧
  4. 关闭 VS
  5. 在记事本 + + (或任何其他编辑器)中打开. sln 文件
  6. 从任何地方删除所有其他解决方案平台项
  7. (例如: {73E03C8F-1F76-45E2-9D45-FA040A63F0AA } 0 = 发布 | 任意 CPU)
  8. 保存它,然后重新打开解决方案。

这对我有用。

在 VS 2015中,我有两个这样的章节“ GlobalSection (TeamFoundationVersionControl) = 预解决方案

第一个包含添加到解决方案中的最新项目,第二个(接近解决方案文件的末尾)没有包含。删除第二个之后,解决方案在 VS2015中打开,没有任何错误。

VS2015更新3. [ GlobalSection (TeamFoundationVersionControl) = preSolution ]在解决方案文件中重复。 底部的副本包含一个项目,以前已经删除... 因此删除该副本固定的问题。 我认为这个副本是由之前的合并问题引起的。

其他答案已经解释了如何解决这个问题。 也许我可以帮你避免这个问题再次出现:

我怎么会有这个问题 当我向解决方案文件中添加一个新项目时,我们的解决方案文件混淆了,而另一个开发人员也添加了一个新项目并提交了他的更改(我在本地系统中没有得到)。当我开始提交更改时,必须合并。Sln 文件,很明显我搞砸了: -)

我学到了什么

解决方案文件很难合并。如果添加项目,请执行以下操作: 1. 获取最新版本 2. 添加项目 3. 承诺

如果在挂起的更改下看到解决方案文件,但在比较模式中没有看到更改,则必须按“全部保存”。在添加新项目时,VisualStudio 还修改了解决方案。但是,这是目前尚未保存的更改。

最佳解决方案是强制 VS 重新生成配置:

  1. 使用文本编辑器打开 sln 文件。
  2. 向下滚动到最后一个“ EndProject”元素。
  3. 删除之后的所有内容。
  4. 保存、关闭和重新生成解决方案,然后将重新生成所有内容。

检查您的 。 slin文件中的 SccNumberOfProjects,它可能与您的实际项目编号不同。

我可以添加一个可能的解决方案——一个不可靠的合并意味着 GlobalSection (TeamFoundationVersionControl)部分中的 SccProjectUniqueName/SccProjectName/SccLocalPath 节中有一个数字不是唯一的,即使 SccNumberOfProjects 是正确的。修正了编号,错误消息消失了。

VS 2019-我在 VS 2019中第一次开启了一个 VS 2017项目。在 Output 窗口中,单击“ Show Output from:”DDL 并查看选项,因为您可能会看到其他错误信息。

对于我来说,解决方案是为2019年重新配置源代码管理映射。

  • 进入探险队
  • 单击 ManageConnections 按钮(插头)
  • 单击“管理连接”链接和“连接到项目”..。
  • ...

对于我的情况,这是项目的顺序,确保以下标签与数字在结束是一致的和连续的。

  1. SccProjectUniqueName
  2. 单一名称
  3. SccProjectName
  4. SccLocalPath