【问题标题】:How do I publish a separate appsettings.json file when publishing a single .exe?发布单个 .exe 时如何发布单独的 appsettings.json 文件?
【发布时间】:2019-10-22 14:44:20
【问题描述】:

我有一个带有配置文件的控制台应用程序。当我使用 .proj 中的新 PublishSingleFile 设置发布时,它会将应用程序作为一个文件发布(很好),但它也会将 appsettings 添加到该 .exe 中。

这意味着此时它不是真正的配置文件,而是文件硬编码值。

如何使用单独的配置文件发布?

当前 .proj 设置

<PropertyGroup>
   <OutputType>Exe</OutputType>
   <TargetFramework>netcoreapp3.0</TargetFramework>
   <PublishReadyToRun>true</PublishReadyToRun>
   <PublishSingleFile>true</PublishSingleFile>
   <PublishTrimmed>true</PublishTrimmed>
   <RuntimeIdentifier>win-x64</RuntimeIdentifier>
 </PropertyGroup>

【问题讨论】:

  • 您可以拥有针对特定环境(如开发、生产等)的应用设置,这是您的问题吗?但这是在 .NetCore 环境中。
  • 我将原始版本保存在父文件夹中,然后在每次发布时将其放到正确的文件夹中。在 Windows 上,我注意到您可以引用父文件夹,但它在 Linux 上不起作用。
  • @Rakesh 不抱歉,我的意思是当我使用 dotnet publish 发布时,我得到了 .exe,但 appsettings.json 在 exe 中而不是在它旁边,因此无法编辑。

标签: c# .net-core console-application


【解决方案1】:

解决了,在.csproj中需要以下内容

 <ItemGroup>
    <Content Include="*.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
    </Content>
  </ItemGroup>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    • 2021-10-08
    相关资源
    最近更新 更多