我有一个ASP.NET核心应用程序,我试图将Web部署到服务器,无论我在配置文件向导中选择哪种构建配置,它总是部署多个appsettings文件以及PDB文件对于DLL。任何人都知道可能导致这种情况的原因吗?
答案 0 :(得分:1)
如果要排除发布发布的.pdb
个文件,则可以在发布版本期间通过向.csproj
文件添加下一个属性来禁用它们的生成(找到此here)
<PropertyGroup>
<DebugType Condition=" '$(Configuration)' == 'Release' ">None</DebugType>
</PropertyGroup>
关于任何配置(或不是)文件,它将基于CopyToPublishDirectory
属性值发布。同样,您可以使用Condition
属性并拥有类似的内容(只是一个想法):
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<Content Update="appsettings.debug.json" CopyToPublishDirectory="Always"/>
<Content Update="appsettings.release.json" CopyToPublishDirectory="Never"/>
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Release' ">
<Content Update="appsettings.debug.json" CopyToPublishDirectory="Never"/>
<Content Update="appsettings.release.json" CopyToPublishDirectory="Always"/>
</ItemGroup>
但总的来说,当我们谈论配置时,依赖环境设置(Dev,Prod)会更好。