我正在尝试构建一个包含swashbuckle的项目,并且为了进行故障排除,我想将大手笔纳入发行版本中。
我现在将其范围缩小了:
我跑步时
dotnet publish -o ./out
在out文件夹中以及我运行时会生成xml文件ProjectName.xml
dotnet publish -o ./out -c Release
未生成xml文件。
csproj文件如下:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<OutputType>Exe</OutputType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>obj\Debug\ProjectName.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Folder Include="somefolder\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.4" />
...
<PackageReference Include="Swashbuckle.AspNetCore" Version="3.0.0" />
...
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.3" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="3.0.0" />
</ItemGroup>
</Project>
我敢肯定,我可以在给定的时间内进一步缩小范围,但是我对dotnet相当陌生,而且我也猜想有人已经看到了问题。
我正在寻找一种解决方案,或者在解释为什么这样做太错误而无法实现的原因。
PS:在Linux上运行,因此没有Visual Studio。否则,这可能是我所知道的一种可能的解决方案:Swashbuckle + XmlComments work locally, but fail swagger generation on server
答案 0 :(得分:3)
将其添加到您的csproj文件中,而不是设置OutputPath
或DocumentationFile
:
<PropertyGroup>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
答案 1 :(得分:1)
添加您的.csproj:
select teams.team_name_eng AS "TNAME1", teams.team_name_eng AS "TNAME2"
from matches, teams as teams_1, teams as teams_2 where matches.team1_uid = teams_1.tid
AND matches.team2_uid = teams_2.tid ;
或删除条件:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>obj\Release\ProjectName.xml</DocumentationFile>
</PropertyGroup>