我已选择" Xml documentation file
"在我的ASP.NET核心MVC应用程序中,它显示" bin\Debug\net452\MyProject.xml
"作为输出文件夹。问题是该文件不存在于发布文件夹中。我需要额外添加它吗?使用.NET Core 1.0-RC4和VS.NET 2017 RC4(新的csproject格式)。
答案 0 :(得分:4)
如果您正在使用project.json
,那么您可以控制发布过程包含和排除的文件和文件夹:
"publishOptions": {
"include": [
"wwwroot",
"appsettings.json",
"appsettings.*.json",
"web.config"
],
"exclude": [
"wwwroot/less"
]
}
对于基于.csproj
的项目here is a good resource,用于复制XML中的旧project.json
设置,例如:
<ItemGroup>
<Compile Include="..\Shared\*.cs" Exclude="..\Shared\Not\*.cs" />
<EmbeddedResource Include="..\Shared\*.resx" />
<Content Include="Views\**\*" PackagePath="%(Identity)" />
<None Include="some/path/in/project.txt" Pack="true" PackagePath="in/package.txt" />
<None Include="notes.txt" CopyToOutputDirectory="Always" />
<!-- CopyToOutputDirectory = { Always, PreserveNewest, Never } -->
<Content Include="files\**\*" CopyToPublishDirectory="PreserveNewest" />
<None Include="publishnotes.txt" CopyToPublishDirectory="Always" />
<!-- CopyToPublishDirectory = { Always, PreserveNewest, Never } -->
</ItemGroup>
答案 1 :(得分:3)
显然,这不是通过dotnet发布实现的,但将在不久的将来实施:https://github.com/dotnet/sdk/issues/795
答案 2 :(得分:1)
project.json
文件的"xmlDoc": true
下应该有"buildOptions"
:
{
"buildOptions": {
"xmlDoc": true
}
}
如果您的代码中包含以下文档:
/// <summary>
/// Documentation for FooClass
/// </summary>
public static class FooClass
{
// ...
}
然后,您的输出中应该有一个xml
文件,如下所示:
<doc>
<assembly>
<name>Foo.Bar</name>
</assembly>
<members>
<member name="T:Foo.Bar.FooClass">
<summary>
Documentation for FooClass
</summary>
</member>
</members>
</doc>
答案 3 :(得分:1)
在 1.1.2
上进行测试 ResolvedFileToPublish
是发布用于了解要放入发布文件夹的文件的项目。 Include
是文件的来源,RelativePath
是应该放置文件的发布文件夹中的位置。
ComputeFilesToPublis
h正如其名称所暗示的那样 - 目标是收集要发布的所有文件。
<Target Name="CopyDocumentationFile"
AfterTargets="ComputeFilesToPublish">
<ItemGroup>
<ResolvedFileToPublish Include="@(FinalDocFile)"
RelativePath="@(FinalDocFile->'%(Filename)%(Extension)')" />
</ItemGroup>
</Target>
只需将此目标添加到.csproj
并确保即可
GenerateDocumentationFile
设置为true
<GenerateDocumentationFile>true</GenerateDocumentationFile>
https://github.com/dotnet/sdk/issues/795#issuecomment-289782712
答案 4 :(得分:0)
在Asp.net Core中,如果您在设置DocumentationFile时遇到问题,我们可以通过在.csproj中设置GenerateDocumentationFile属性来实现:
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>