我有一个应用程序需要解析来自ProjectReference文件的*.csproj元素。它可以很好地使用旧的(.net)格式,其中我使用Name元素来获取项目的名称:
<ProjectReference Include="..\MyProject\MyProject.csproj">
<Project>{guid..}</Project>
<Name>MyProject</Name>
</ProjectReference>然而,新格式(..net核)使其崩溃,因为不再有Name元素。
我在这两个文件之间发现了一些不同之处,但我不确定应该使用哪个文件,告诉您我正在处理新的核心文件。不同之处是:
<Project Sdk=属性开头,不包含任何默认名称空间,旧名称空间中声明了xmlns="。ProjectReference元素不包含任何子元素。像Visual那样,哪个属性是识别核心文件最可靠的方法?我是在正确的轨道上,还是有任何其他的标准,我应该使用区分文件格式?
发布于 2018-01-21 18:03:07
如果使用MSBuild计算项目文件,则sdk将UsingMicrosoftNETSdk属性设置为true。
如果您只使用基于XML的工具来读取文件,则可以检查<TargetFramework>或<TargetFrameworks> (复数)属性(在<PropertyGroup>中)。
这是visual用于确定项目是否使用新的或经典的项目系统的相同机制(请参阅与CPS一起开幕文档)。
https://stackoverflow.com/questions/48369792
复制相似问题