为什么会说"已经在解决方案中打开了具有该名称的项目"?

Mik*_* K. 22 tfs visual-studio

我最近将VSS数据库迁移到了TFS 2008.使用Source Control Explorer,我获得了包含12个项目的最新版本的解决方案.

当我在VS 2005中打开解决方案时,找不到两个项目.我不确定为什么找不到这两个项目,但认为最简单的方法是删除并重新添加它们到解决方案中.

当我这样做时,VS给了我一个"这个名字的项目已在解决方案中打开".该项目未出现在解决方案资源管理器中,并且未在.sln文件中列出.

有任何想法吗?

Tho*_*ams 57

在任何人尝试调整其解决方案和项目文件之前,请确定您是否可能在解决方案之外存在项目依赖项(例如 IIS ),并且您忘记在管理员模式下启动 Visual Studio

  • 这对我来说是第一个问题;第二个问题是 IIS 部分配置为使用 https,而我没有为 https 配置默认网站 - 只需将其更改为 http 即可修复它。 (2认同)

Ism*_*yel 36

我有这个问题,我能够使用以下步骤解决它:

  1. 从解决方案中删除项目.
  2. 重启视觉工作室.
  3. 将项目作为现有项目添加到解决方案中.

  • 不要跳过第2步 - 这是必不可少的.也许这是为了清理坏的光环.另外,不要忘记添加对remove-and-add-back项目的引用.或者你的主项目不会编译. (3认同)

Gui*_*het 23

对于我来说,未加载的项目是因为它被配置为在本地计算机上使用 IIS,并且我需要以管理员身份启动 Visual Studio。

  • 这也正是我的问题!在管理员模式下运行VS解决了这个问题。 (2认同)

Tuo*_*nen 21

我有相同的消息......似乎它来自(.csproj)项目文件.在第一个属性组下,有一个名为的部分

<ProjectTypeGuids>...</ProjectTypeGuids> 
Run Code Online (Sandbox Code Playgroud)

这通常告诉Visual Studio以某种特定方式处理该项目.有些Guids可以在这里找到.

首先制作该文件的备份副本.然后删除该部分可以帮助您像往常一样打开项目.因为Visual Studio似乎认为项目不是ProjectTypeGuids中指定的类型.

  • 为我工作,但请注意,您需要关闭 VS 并重新打开。 (9认同)
  • 13年后,这个答案仍然有效。谢谢! (3认同)

dev*_*Xen 20

这对我来说是这样的:

  1. <ProjectTypeGuids>...</ProjectTypeGuids>删除每个项目中的部分
  2. 重新打开各个项目,然后保存覆盖现有项目文件,最后退出
  3. 重新打开解决方案文件
  4. 祈祷(可选)

  • 我不认为 4. 在处理这些问题时是可选的。 (11认同)

Tho*_*mas 11

如果有人使用AnkhSVN而不是TFS,那么.sln文件也需要以下几行:

GlobalSection(SubversionScc) = preSolution
    Svn-Managed = True
    Manager = AnkhSVN - Subversion Support for Visual Studio
EndGlobalSection
Run Code Online (Sandbox Code Playgroud)

在"全球"部分.


小智 10

不幸的是,我不知道这个愚蠢的错误消息背后的原因,我只能提供我采取的步骤来让它消失。

就我而言,我重新配置了本地 IIS(<UseIIS>不是<UseIISExpress>),并且它不再托管 csproj<IISUrl>字段中的 URL。

在另一个编辑器中编辑.csproj文件并将该字段更改为新 URL,然后在 VS 中关闭并打开解决方案解决了该问题。


小智 7

删除 .suo 文件。构建解决方案。添加项目。


小智 6

我不得不说删除该部分<ProjectTypeGuids>...</ProjectTypeGuids>可能会产生一些问题。事实上,这样的部分定义了项目的类型,如果删除,可能会禁用某些功能。例如,如果您的项目最初定义为智能设备(C#),则删除上述部分后,设备上调试可能无法正常工作。