c# - 无法在 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>
所以,它不起作用。
我该如何解决这个问题?
解决方案
无法在 Visual Studio 2015 中加载 CS 项目
您的项目似乎是一个新的 sdk 格式项目(Net Core和Net 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 core
和net standard
)。你可以参考这个文件。
==============
另外,你修改的也是新的sdk格式format( Microsoft.NET.Sdk
),写错了。
网络标准项目不能使用旧样式格式:
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
解决方案
所以你应该下载使用VS2017或VS2019。
另外,当你通过 vs installer 安装它时,你应该确保你已经安装了Net Core工作负载:
检查他们两个。
在我这边,我可以从 github 打开项目。
推荐阅读
- python - 仅打印异常原因列表
- netsuite - NetSuite:为现有客户创建案例的在线案例表单
- bootstrap-4 - 在 rails 上使用 link_to 插入网络链接
- python - 如何使用 pyautogui 输入 @
- mips - Mips 程序未打印正确的字符串
- r - 在R中按名称选择多个列
- excel - Excel VBA - 如果列中的时间/日期超过 6 小时,则移动行
- go - 如何创建由另一个组成的结构
- haskell - How to filter Hakyll posts with a custom metadata
- cordova - Cordova 应用程序在启动时会打开一个外部 URL