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

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

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

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

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

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

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

救命
如何正确打开我的解决方案? 🙁

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

  1. 打开Visual Studio的新副本
  2. B相同类型的不同位置创建项目名称相同。
  3. 关闭Visual Studio的副本
  4. 将新创建的B.csproj文件复制到B所有源代码所在的目录,覆盖现有的B.csproj文件(但需要复制它,只需要它就可以了!)。
  5. 加载Visual Studio并打开解决方案A

您会注意到该项目不包含您期望的任何文件/引用,并且可能包含对Class1.cs的“损坏”引用或Visual Studio创建时添加到新项目文件的任何其他文件它。 现在:

  1. 确保在解决方案资源管理器中选择了项目B,然后单击“显示所有文件”图标。 它是一个在刷新图标左侧有3个文件相互叠加的图片。
  2. 您将能够看到项目的所有内容,但“灰显”。 选择要添加的每个文件/文件夹,右键单击并选择“包含在项目中”。

假设您的项目没有太复杂,您现在应该只需要重新添加任何引用,它应该编译并运行。 通过使用Beyond Compare之类的工具来比较新项目文件和原始项目文件以查找您错过的内容,您可以解决更多问题。

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

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

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

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

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

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

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

在Visual Studio中:

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

这对我有用: –

我在我的系统上也在不同的位置保存了项目的副本。我只是将project.csproj文件从保存的副本替换到我的这个项目。 我打开了我项目的.csproj文件,发现它是空的。 所以我用同一项目的保存副本替换了它。 关闭视觉工作室并再次打开项目。 现在我发现所有文件都被加载了。

希望这也有助于他人。