首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区分*.csproj格式

区分*.csproj格式
EN

Stack Overflow用户
提问于 2018-01-21 17:41:24
回答 1查看 57关注 0票数 0

我有一个应用程序需要解析来自ProjectReference文件的*.csproj元素。它可以很好地使用旧的(.net)格式,其中我使用Name元素来获取项目的名称:

代码语言:javascript
复制
<ProjectReference Include="..\MyProject\MyProject.csproj">
  <Project>{guid..}</Project>
  <Name>MyProject</Name>
</ProjectReference>

然而,新格式(..net核)使其崩溃,因为不再有Name元素。

我在这两个文件之间发现了一些不同之处,但我不确定应该使用哪个文件,告诉您我正在处理新的核心文件。不同之处是:

  • 新格式不包含xml声明。
  • 根元素以<Project Sdk=属性开头,不包含任何默认名称空间,旧名称空间中声明了xmlns="
  • ProjectReference元素不包含任何子元素。

像Visual那样,哪个属性是识别核心文件最可靠的方法?我是在正确的轨道上,还是有任何其他的标准,我应该使用区分文件格式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-21 18:03:07

如果使用MSBuild计算项目文件,则sdk将UsingMicrosoftNETSdk属性设置为true

如果您只使用基于XML的工具来读取文件,则可以检查<TargetFramework><TargetFrameworks> (复数)属性(在<PropertyGroup>中)。

这是visual用于确定项目是否使用新的或经典的项目系统的相同机制(请参阅与CPS一起开幕文档)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48369792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档