【问题标题】:All Visual Studio 2013 builds are now failing所有 Visual Studio 2013 构建现在都失败了
【发布时间】:2015-12-11 15:45:24
【问题描述】:

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

EverySingleProject.csproj:错误:项目的默认 XML 命名空间必须是 MSBuild XML 命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。 C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets

这是在文件中:

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

为什么会失败?

【问题讨论】:

    标签: c# visual-studio-2013 msbuild


    【解决方案1】:

    删除相应的 *.csproj.user 文件有助于解决相同的症状。

    【讨论】:

      【解决方案2】:

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

      我所做的是:

      1. 新建一个 VS 2013 Web 应用项目,
      2. 将所有其余的原始项目文件复制并粘贴到新的项目文件夹中,
      3. 打开新项目并包含所有必要的原始项目文件,
      4. 在引用等方面搞砸了一段时间,直到所有编译错误消失,
      5. 运行、测试、调整。

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

      【讨论】:

        【解决方案3】:

        通过添加修复它:

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

        在 .csproj 文件中。

        【讨论】:

        • 您可以这样做来强制它运行,但它不会运行正确的工具版本和输出错误。
        【解决方案4】:

        如果您尝试在早期版本的 Visual Studio 中打开 VS 2017 RC“简化”.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 才能打开它们。

        【讨论】:

        • 是否可以降级/转换 .csproj 文件,以便我可以在 Visual Studio 2015 中使用其余代码库?我下载了一个开源项目,维护者只是将项目升级到 VS2017,所以现在我无法在 VS 2015 中打开它。
        【解决方案5】:

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

        另外一份需要的文件消失在了以太中。 此文件:Microsoft.CSharp.CurrentVersion.targets

        在修复然后完全重新安装 Visual Studio 期间,它们都没有被替换或修复。

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

        【讨论】:

          【解决方案6】:

          我 2 天前就有过这种情况。

          This救了我。

          希望这会有所帮助。

          编辑:

          幸好解决方法很简单:

          1. 在 Windows 资源管理器中导航到项目
          2. 右键单击.cproj文件,选择属性,然后取消选中“只读”复选框
          3. 在记事本中打开 .cproj 文件
          4. 在第 2 行将 xmlns="http://schemas.microsoft.com/developer/msbuild/2008" 更改为 xmlns="http://schemas.microsoft.com/developer/msbuild/2003"(注意 唯一的区别是我们将 2008 年更改为 2003 年)
          5. 保存更改
          6. 在 Visual Studio 中右键单击(当前不可用的)项目并选择“重新加载项目”
          7. 该项目现在将正常加载,您可以继续您的生活

          【讨论】:

          • 应该有点明显的是,“将2008年改为2003年”并不是这个问题的正确解决方案。
          • 对不起,但这对我不起作用。我仍然无法构建我的任何 C# 项目。都给出相同的错误。
          • 已经多次尝试多个项目,仍然没有任何乐趣。
          • 我在尝试将新项目添加到空解决方案时遇到同样的错误。
          猜你喜欢
          • 2014-08-15
          • 2023-01-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-23
          • 2018-12-20
          • 1970-01-01
          • 2015-05-15
          相关资源
          最近更新 更多