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


160

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

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

Answers:


281

我刚刚用35个项目解决了VS2010解决方案的类似问题。原因是重复的

GlobalSection(TeamFoundationVersionControl)

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

如果这不是您的问题,考虑到您只有2个项目,我放弃废弃的解决方案文件,创建一个新的解决方案,然后重新添加两个项目...


6
VS2012遇到相同的问题,此解决方案有效。谢谢!
David Airapetyan

4
是否可以安全地假设应该删除的GlobalSection(TeamFoundationVersionControl)是最底层的?
frostshoxx 2013年

4
我遇到了同样的问题,只是删除了最底层的问题。它解决了问题。似乎合并有时会导致这种情况。
MaiOM 2014年

12
对我来说这是最底层的(显然已经过时了)。我怀疑VS使用它找到的第一个。就我而言,这是由TFS合并引起的。
Igby Largeman 2014年

2
在VS2013同样的问题重复GlobalSection -通过去除固定
马克HOSANG

31

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


25

最好的解决办法是迫使VS再生CONFIGS。去做这个:

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

该解决方案非常适合我的情况。我遇到两个类似的错误:The following property is missing or has incorrect value: SccLocalPath63The following property is missing or has incorrect value: SccLocalPath64
user919426 '18

2
该解决方案在VS 2017中为我工作。在打开sln文件时,它实际上会重新生成该解决方案。请注意,EndProject是一个单词。
Varun Sharma

这是我的解决办法。解决方案文件中的唯一区别是SolutionGuid。
ADH

2
这在VS 2017中对我有用。我唯一需要添加的是...如果您使用解决方案文件夹...您将必须将项目放回正确的“插槽”
Prisoner ZERO

1
这在VS 2019中对我有用。我有其他解决方案中提到的重复部分,但是当我删除它们时,它们会回来。这是唯一有效的方法。
fehays

8

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

原因是重复的GlobalSection(TeamFoundationVersionControl)部分(la Boycs的回答)的结合,但是在GlobalSection(TeamFoundationVersionControl)保留的部分中,我也重复了几个项目,以及对最近被删除的项目的一些引用。

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

另外:我怀疑,如果在分支和提交合并期间更加关注.sln,本来可以避免大多数问题,但是谁知道VS有时会在想什么...


5

我上面有很多错误。我将项目重命名,保存为关闭状态,重新打开后将其更改回原来的名称。这将重新创建.sln文件,并且在我的情况下,将所有其他项都删除了。


最简单的解决方法在这里。不要费心去.sln寻找错误。
乔纳森·兰德鲁姆

您可以再扩展一点吗?一些用户可能不理解。您是要在资源管理器或Visual Studio中还是在实际文件中对其重命名?
iTechy

1
在Visual Studio中执行此操作,您将右键单击项目,将名称更改为任何名称,然后保存并退出。重新打开并更改回原始文件,保存并退出。重新打开解决方案,错误应该消失了。
CThin

2

跟随Boycs的领导,在VS2012中解决了相同的错误消息。对我来说,问题是GlobalSection(SolutionConfigurationPlatforms) = preSolution我的SLN文件底部有两个多余的块。


2

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


2

在VS 2015中,我有两个部分“ GlobalSection(TeamFoundationVersionControl)= preSolution

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


1

其他答案已经说明了如何解决此问题。也许我可以帮您避免再次遇到问题:

解决问题的方式当我向其中添加一个新项目时,我们的解决方案文件变得混乱,而另一个开发人员也添加了一个新项目,并提交了他的更改(我在本地系统中没有得到)。当我开始提交更改时,我不得不合并.sln文件,在这里我显然搞砸了:-)

我学到的是

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

如果您看到解决方案文件正在等待更改,但是在比较模式下看不到更改,则必须按“全部保存”。在添加新项目时,VisualStudio还更改了解决方案。但是,这是目前未保存的更改。



0

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

在我的情况下,问题是MySolutionName.sln文件中GlobalSection内的SccProjectName0属性值为空。

我通过从另一个解决方案中将此字符串值的副本设置为SccProjectName0值,并将字符串中的项目名称替换为当前名称(BTW-如果您的项目名称为其中的空格(''),来解决该问题,替换为'\ u0020')。

*

就我而言,问题是由于我错误地打开了由TFS控制的解决方案,而该解决方案是从该解决方案由VSS控制开始的,而旧的MySolutionName.sln文件属于同一解决方案。


0

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


0

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


0

VS 2019-我第一次在VS 2019中打开VS 2017项目。在“输出”窗口中,单击“显示来自:” DDL并检查您的选项,因为您可能会看到其他错误信息。

就我而言,解决方案是重新配置我的2019年源代码控制映射。

  • 进入团队资源管理器
  • 单击管理连接按钮(插头)
  • 单击管理连接链接,然后连接到项目...
  • ...

-1

我遇到了同样的问题,我的解决方案是:

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

这对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.