我该在哪里找到.csproj文件的模式(XSD)?

28

我在哪里可以找到Visual Studio 2008的.csproj文件的W3C XML模式(XSD)?

看起来这应该很明显,但我花了一些时间,还是没有找到。

我在%VS2008%\xml\Schemas中查找过,但没有找到。在互联网上搜索也没有结果。

5个回答

23

csproj文件实际上是MSBuild文件。这些文件的xsd可以在此处找到:

%windir%\Microsoft.NET\Framework\[framework version]\Microsoft.Build.xsd

1
在 macOS 上有找到它的任何方法吗? - felixfbecker
@felixfbecker 这取决于您如何使用 macOS 管理您的项目。如果您使用 Visual Studio(无论是预览版还是正式版),该文件位于 /Applications/Visual Studio (Preview).app/Contents/MonoBundle/AddIns/Xml/schemas/Microsoft.Build.Core.xsd。如果您安装了 Mono 框架,它应该位于 /Library/Frameworks/Mono.framework/Versions/XX.YY.ZZ/lib/mono/VV.WW/MSBuild/ 或者 /Library/Frameworks/Mono.framework/Versions/XX.YY.ZZ/lib/mono/xbuild/VV.WW/bin/MSBuild/Microsoft.Build.Core.xsd。如果您使用 Homebrew,它将以 /usr/local/Cellar/mono/XX.YY.ZZ.KK/lib/mono 为前缀。 - Gwyneth Llewelyn
关于上述的更新:看起来macOS + Microsoft在使用(官方)Mono Framework时,已经正确地设置了“current”链接。在这种情况下,文件应该始终位于/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild/Current/bin/Microsoft.Build.xsd。在Linux下,位置是等效的:/usr/lib/mono/msbuild/Current/bin/Microsoft.Build.xsd - Gwyneth Llewelyn
请注意,并非所有的框架/安装都会有一个“完整”的XSD。到目前为止,我找到的“最佳”示例是从Mono Framework获取“主”XSD,然后使用Homebrew安装的两个附加文件,并在本地引用它们。这很复杂。 - Gwyneth Llewelyn

9
最简单的方法是在Visual Studio中卸载该项目,然后右键单击并编辑csproj文件。
  1. 打开Visual Studio解决方案
  2. 卸载其中一个项目
  3. 在“解决方案资源管理器”窗格中右键单击已卸载的项目
  4. 单击“编辑PROJECT_NAME.csproj”
  5. 在Visual Studio中打开“属性”窗格
  6. 单击.csproj文件的编辑器窗格内的任意位置
  7. “属性”窗格应更新为不同的信息
  8. 在“模式”中查找适用于该.csproj文件的模式列表
我在Visual Studio 2013中尝试过这种方法,但由于此时.csproj文件像任何其他XML文件一样处理,因此这适用于多个版本的Visual Studio。

+10 对于这个提示。在我尝试之前,我认为你很傻:D - James King
1
同样适用于VS 2017。 - AndrewRalon
@GregBurghardt 做得好。对我在 VS2019 上帮助很大。 - nam

8

我能在%VS2008%\Xml\Schemas\1033\MSBuild\Microsoft.Build.Core.xsd中找到它。目标命名空间与项目文件的命名空间相匹配,结构看起来正确。


1
仍适用于Visual Studio 2010 csproj文件的xsd模式。 - bwerks
1
同样适用于VS2012!“Reference” XML标签(它是“ItemGroup”的同级)可以在同一文件夹中的“Microsoft.Build.Commontypes.xsd”中找到。 - Csaba Toth
@Fredrik Mörk建议的位置也不错。.NET 4.0包含VS2012的XSD。MSBuild目录中的.NET 3.5和2.0的XSD比.NET 4的要小得多。 - Csaba Toth

4

csproj文件是MSBuild文件,因此您应该使用MSBuild的模式,它在以下位置:

%VS2008%\Xml\Schemas\1033\MSBuild\Microsoft.Build.Core.xsd

2

现在,msbuild v14已经发布:

C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接