我正在研究nuget包以帮助标准化一些ASP.NET Web API项目。 Nuget软件包应该做的一部分是启用XML文档,因此可以在帮助区域中使用来自控制器的XML注释。我已经在我的nuget包中为Install.ps1创建了下面的powershell脚本,但它似乎并没有真正改变csproj文件。我正在将该软件包安装到一个全新的Web API项目中,并禁用了XML文档文件,而且这种方式并不按我期望的方式工作。我知道它正在运行,因为我还有一些其他错误必须修复,但现在我没有收到任何错误或反馈意见来提示错误。任何帮助都会受到赞赏,因为在安装nuget软件包时,它在Visual Studio中调用它的方式似乎非常困难。使用nuget包中的Powershell启用CSPROJ XML文档文件
param($installPath, $toolsPath, $package, $project)
$doc = New-Object System.Xml.XmlDocument
$doc.Load($project.FullName)
$nsManager = New-Object System.Xml.XmlNamespaceManager($doc.NameTable)
$nsManager.AddNamespace('tu','http://schemas.microsoft.com/developer/msbuild/2003')
$node = $doc.SelectSingleNode('//tu:PropertyGroup',$nsManager)
$docNode = $node.SelectSingleNode('//tu:DocumentationFile', $nsManager)
if(!$docNode)
{
# need to add documentation file
$element = $doc.CreateElement('DocumentationFile')
$element.InnerText = 'App_Data\MyProject.xml'
$node.AppendChild($element)
$doc.Save($project.FullName)
}
我很高兴您已解决您的问题,并感谢您在此处分享您的答案。请标记您的答案,这对有同样问题的其他社区是有益的。 –