所有 Visual Studio 2013 版本现在都失败了

All Visual Studio 2013 builds are now failing

我在 Visual Studio 2013 年打开的每个项目现在突然出现以下错误:

EverySingleProject.csproj : error : The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format. C:\Program Files (x86)\MSBuild.0\bin\Microsoft.Common.CurrentVersion.targets

这在文件中:

Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"

为什么会失败?

我两天前也遇到过这种情况。

This救了我。

希望对您有所帮助。

编辑:

Fortunately the solution is simple:

  1. In Windows Explorer navigate to the project
  2. Right Click on the .cproj file, select Properties, and un-check the "Read Only" checkbox
  3. Open up the .cproj file in Notepad
  4. On line 2 change xmlns="http://schemas.microsoft.com/developer/msbuild/2008" to xmlns="http://schemas.microsoft.com/developer/msbuild/2003" (notice this only difference is we changed 2008 to 2003)
  5. Save your changes
  6. In Visual Studio right click on the (currently unavailable) project and select "Reload Project"
  7. The project will now load normally and you can get on with your life

原来我的 MSBuild 文件夹中的一个文件已损坏。 此文件:Microsoft.Common.CurrentVersion.targets

而另一个需要的文件已经消失在以太中。 此文件:Microsoft.CSharp.CurrentVersion.targets

在维修期间没有更换或修复,然后完全重新安装 Visual Studio。

我最终从另一个安装中复制了文件,现在一切都恢复正常了。

如果您尝试在 Visual Studio 的早期版本中打开 VS 2017 RC 'simplified' .NET Core csproj 文件,您也会遇到此错误。

这些新项目文件如下所示:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NETCore.App" Version="1.0.1" />
  </ItemGroup>
</Project>

(来自:https://blogs.msdn.microsoft.com/dotnet/2016/12/12/updating-visual-studio-2017-rc-net-core-tooling-improvements/

您需要使用最新版本的 VS 2017 才能打开它们。

通过添加修复它:

<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

在 .csproj 文件中。

我也有这个。该项目可能是(未记录!)一个 VS 2017 项目,我使用的是 VS 2013。

我所做的是:

  1. 创建一个新的 VS 2013 web 应用程序项目,
  2. 将原始项目文件的所有其余部分复制并粘贴到新项目文件夹中,
  3. 打开新项目并包含所有必要的原始项目文件,
  4. 在所有编译错误消失之前,用引用等乱七八糟,
  5. 运行,测试,调整。

确实不理想,但对于小型演示项目来说,这是最快的解决方案。不确定如何使用大型解决方案。也许有人会在某个时候构建一个转换器。也许微软可以做到这一点。 [自言自语。]

删除相应的 *.csproj.user 文件有助于解决同样的问题。