我在我的ASP.NET Core MVC應用程序中選擇了「Xml documentation file
」,它將「bin\Debug\net452\MyProject.xml
」顯示爲輸出文件夾。問題是該文件在發佈文件夾中不存在。我需要額外的東西來包含它嗎?使用.NET Core 1.0-RC4和VS.NET 2017 RC4(新的csproject格式)。XML文檔文件不包含在發佈文件夾中
回答
顯然這不是用dotnet發佈實現的,而是在不久的將來:https://github.com/dotnet/sdk/issues/795
如果你使用project.json
然後您就可以控制都包含和發佈過程中排除的文件和文件夾:
"publishOptions": {
"include": [
"wwwroot",
"appsettings.json",
"appsettings.*.json",
"web.config"
],
"exclude": [
"wwwroot/less"
]
}
對於.csproj
基於項目here is a good resource用於複製舊project.json
設置XML,例如:
<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>
對不起忘了補充一點,我使用.NET的核心1.0 RC4和VS.NET 2017 RC4(新的csproject格式,沒有project.json)。 – dstr
@dstr更新了我的答案,以包含一些'.csproj'信息,這些信息可能會幫助您指出正確的方向。 – Polynomial
project.json
file s HOULD有"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>
很抱歉忘了補充一點,我使用.NET Core 1.0-RC4和VS.NET 2017 RC4(新的csproject格式,沒有project.json)。此外,我已經在我的輸出文件夾中生成了xml,但它沒有發佈到發佈文件夾。 – dstr
測試在1.1.2
ResolvedFileToPublish
是發佈用途知道哪些文件就擺在發佈文件夾中的項目。 Include
是文件的來源,而RelativePath
是文件應放置在發佈文件夾內的位置。 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
- 1. 〜/ .felix文件夾中包含的文件
- 2. 如何在doxygen文檔中包含文件夾?
- 3. 'AppData'文件夾不存在(包含HAXM文件夾)(Android Studio)
- 4. 文檔文件夾中存在文件
- 5. Autotools發佈中包含哪些文件
- 6. 爲什麼spark文件不包含在publishe文件夾中?
- 7. 刪除文件夾和包含文件
- 8. ember文件夾只包含gitkeep文件
- 9. Git應該只包含主文件夾的文件夾/文件
- 10. 探索包含文件夾而不是打開包含文件夾
- 11. 如果文件夾2不包含文件,則將文件從文件夾1移動到文件夾2
- 12. 如何從根文件夾包含文件(包括();)到不同子文件夾中的文件?
- 13. .apk包含.git文件夾
- 14. 包含文件夾腳本
- 15. 包含py2exe的文件夾
- 16. 如何在XML文檔中包含DTD
- 17. 在歸檔文件中包含源
- 18. 在已發佈的應用程序中包含文本文件
- 19. 複製文件和文件夾包含從文本文件
- 20. 在unix中包含softlinked文件夾「find」
- 21. 在tfs中包含空文件夾build
- 22. 打開其他文件夾中包含的文件夾
- 23. 包括包含在文件夾
- 24. 包含從根文件夾中的子文件夾中的PHP文件
- 25. 在Arduino庫中的文件夾中包含一個文件
- 26. Asp.net核心發佈包含文件
- 27. 在ASP.NET網站的bin文件夾中包含XML文件項目
- 28. Java包Jar包含文本文件和文件夾
- 29. 在Visual Studio中發佈時丟失bin文件夾中的XML文件
- 30. 在XML文件中包含somthing.html
代碼被合併到master中。儘管如此,還沒有發佈:https://github.com/dotnet/sdk/pull/1062 –