首页 > 解决方案 > 无法在 Visual Studio 2015 中加载 CS 项目

问题描述

我已经从 Github下载了 NetTopologySuite 。我无法在我的 Visual Studio 2015 IDE 中加载它。

C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\src\NetTopologySuite\NetTopologySuite.csproj : 错误:项目的默认 XML 命名空间必须是 MSBuild XML 命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\src\NetTopologySuite\NetTopologySuite.csproj

C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\test\NetTopologySuite.Samples.Console\NetTopologySuite.Samples.Console.csproj:错误:项目的默认 XML 命名空间必须是 MSBuild XML命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\test\NetTopologySuite.Samples.Console\NetTopologySuite.Samples.Console.csproj

C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\test\NetTopologySuite.TestRunner\NetTopologySuite.TestRunner.csproj : error : 项目的默认 XML 命名空间必须是 MSBuild XML 命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\test\NetTopologySuite.TestRunner\NetTopologySuite.TestRunner.csproj

C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\src\NetTopologySuite.TestRunner.Console\NetTopologySuite.TestRunner.Console.csproj : 错误: 项目的默认 XML 命名空间必须是 MSBuild XML命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\src\NetTopologySuite.TestRunner.Console\NetTopologySuite.TestRunner.Console.csproj

C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\test\NetTopologySuite.Tests.Vivid.XUnit\NetTopologySuite.Tests.Vivid.XUnit.csproj : error : 项目的默认 XML 命名空间必须是 MSBuild XML 命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\test\NetTopologySuite.Tests.Vivid.XUnit\NetTopologySuite.Tests.Vivid.XUnit.csproj

C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\test\NetTopologySuite.Tests.NUnit\NetTopologySuite.Tests.NUnit.csproj : error : 项目的默认 XML 命名空间必须是 MSBuild XML命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\test\NetTopologySuite.Tests.NUnit\NetTopologySuite.Tests.NUnit.csproj

C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\src\NetTopologySuite.Lab\NetTopologySuite.Lab.csproj : 错误:项目的默认 XML 命名空间必须是 MSBuild XML 命名空间。如果项目以 MSBuild 2003 格式创作,请将 xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 添加到元素中。如果项目是以旧的 1.0 或 1.2 格式创作的,请将其转换为 MSBuild 2003 格式。C:\Users\pc\Desktop\GIS Suite\NetTopologySuite-develop\NetTopologySuite-develop\src\NetTopologySuite.Lab\NetTopologySuite.Lab.csproj

然后我尝试仅通过删除所有其他文件夹来NetTopologySuite.csproj 。

在此处输入图像描述

因此,我将文件更改为以下内容:

<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <SignAssembly>true</SignAssembly>
    <NoWarn>659,168,1587</NoWarn>
    <EnableApiCompat>true</EnableApiCompat>
  </PropertyGroup>

  <PropertyGroup Label="Assembly Info">
    <AssemblyTitle>NetTopologySuite</AssemblyTitle>
    <Description>A .NET library for GIS operations, direct porting of JTS Topology Suite $(JTSCompatibilityLevel) library</Description>
  </PropertyGroup>

  <PropertyGroup Label="NuGet Package Info">
    <PackageId>NetTopologySuite</PackageId>
    <Title>NTS - Topology Suite</Title>
    <Authors>NetTopologySuite - Team</Authors>
    <Owners>NetTopologySuite - Team</Owners>
    <PackageLicenseExpression>BSD-3-Clause</PackageLicenseExpression>
    <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
    <Description>The NTS Topology Suite is an API for modelling and manipulating 2-dimensional linear geometry. It provides numerous geometric predicates and functions. NTS conforms to the Simple Features Specification.</Description>
    <PackageTags>NTS;Topology;OGC;SFS</PackageTags>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="System.Memory" Version="4.5.3" />
  </ItemGroup>

  <ItemGroup Condition=" '$(EnableApiCompat)' == 'true' ">
    <PackageReference Include="Microsoft.DotNet.ApiCompat" Version="5.0.0-beta.20162.3" PrivateAssets="All" />
    <PackageDownload Include="NetTopologySuite" Version="[$(NtsMajorVersion).0.0]" PrivateAssets="All" />

    <ResolvedMatchingContract Include="$(NugetPackageRoot)nettopologysuite\$(NtsMajorVersion).0.0\lib\netstandard2.0\NetTopologySuite.dll" />
  </ItemGroup>
</Project>

在此处输入图像描述

所以,它不起作用。

我该如何解决这个问题?

标签: c#xmlvisual-studiomsbuild

解决方案


无法在 Visual Studio 2015 中加载 CS 项目

您的项目似乎是一个新的 sdk 格式项目(Net CoreNet Standard)。

它使用<Project Sdk="Microsoft.NET.Sdk">而不是传统的项目风格:

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

而且VS2015不支持新的sdk风格项目。

VS2017 开始微软发布了新的 sdk 风格项目(net corenet standard)。你可以参考这个文件

==============

另外,你修改的也是新的sdk格式format( Microsoft.NET.Sdk),写错了。

网络标准项目不能使用旧样式格式:

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

解决方案

所以你应该下载使用VS2017VS2019

另外,当你通过 vs installer 安装它时,你应该确保你已经安装了Net Core工作负载:

检查他们两个。

在此处输入图像描述

在此处输入图像描述

在我这边,我可以从 github 打开项目。


推荐阅读