如何在Visual Studio 2010中恢复损坏的.csproj文件?

时间:2012-06-23 16:53:30

标签: c# visual-studio-2010

我的电脑
Windows 8预览版本 适用于Windows Phone的Visual Studio 2010 Express

我的应用程序是在 解决方案A
项目B

故事
当我键入代码时屏幕冻结 我关闭电脑然后重新启动 当我在VS2010中加载sln for wp
时 VS2010说

  

“解决方案A(0项目)
  项目B(不可用)
  无法加载项目文件

所以我试图在VS2010中“编辑B.csproj”,它显示错误

  

B.csproj:错误:无法读取项目文件'B.csproj'。
  B.csproj:无法加载项目文件。缺少根元素。

帮助
如何正确打开我的解决方案? :(

7 个答案:

答案 0 :(得分:31)

最简单的方法是创建一个新的项目文件。最简单的方法是:

  1. 打开Visual Studio的新副本
  2. 创建与B相同类型的项目位于不同位置,名称相同。
  3. 关闭Visual Studio的副本
  4. 将新创建的B.csproj文件复制到B所有源文件所在的目录中,覆盖现有的B.csproj文件(但要复制一份文件,只需要你需要它!)。
  5. 加载Visual Studio并打开解决方案A
  6. 您会注意到该项目不包含您期望的任何文件/引用,并且可能包含对Class1.cs的“损坏”引用或添加到新项目的任何其他文件Visual Studio创建它时的文件。现在:

    1. 确保在解决方案资源管理器中选择了项目B,然后单击“显示所有文件”图标。它是一张图片,其中包含3个文件的图片,它们位于刷新图标的左侧。
    2. 您将能够看到项目的所有内容,但“灰显”。选择要添加的每个文件/文件夹,右键单击并选择“包含在项目中”。
    3. 假设您的项目没有太复杂,您现在应该只需要重新添加任何引用,它应该编译并运行。通过使用Beyond Compare之类的工具来比较新项目文件和原始项目文件以查找您错过的内容,可以解决更多问题。

      最重要的是:开始使用Source Control!

      如果你是,你将能够恢复以前版本的项目文件,而不必经历这个麻烦。几乎所有您能想到的源控制解决方案都可以在PC上运行而无需专用服务器。最简单的设置之一是VisualSVN Server,个人商业用途免费。

答案 1 :(得分:18)

只需删除VS文件夹中的.user文件即可。来源:http://msbiztalk.blogspot.in/2010/10/visual-studio-error-imported-project.html

答案 2 :(得分:3)

如果没有大量源文件,最快的方法可能就是删除.csproj并创建一个新文件。然后手动添加所有源代码。如果在同一位置创建项目文件,则可以在解决方案资源管理器中选中“显示所有文件”,然后右键单击源文件并选择“包含在项目中”。

答案 3 :(得分:1)

只是补充@Rob所说的内容。你应该尝试将Git作为源代码控制。 您可以进行本地提交,如果需要远程服务器,可以使用GitHub和BitBucket(免费私有存储库)作为两个不错的选项。

看看这里:http://git-scm.com/book/en/Getting-Started

答案 4 :(得分:0)

对我有用的是删除文件并粘贴同一文件的备份,然后在解决方案中重新加载项目。

答案 5 :(得分:0)

在Visual Studio中:

  1. 右键单击项目并选择卸载项目;
  2. 再次右键单击该项目(现在显示为"不可用")并选择编辑MyProject.csproj ;
  3. 修正红色下划线的错误;
  4. 再次右键单击该项目,然后选择重新加载项目

答案 6 :(得分:0)

这对我有用:-

我也将项目的副本保存在系统上的其他位置。我只是将保存的副本中的project.csproj文件替换到我的项目中。 我打开了项目的文件.csproj,发现它为空。 因此,我将其替换为同一项目的已保存副本。 关闭视觉工作室,然后再次打开该项目。 现在我发现所有文件都已加载。

希望这也能帮助其他人。