[解決済み] dotnet publish が正しい appsettings.{env.EnvironmentName}.json をパブリッシュしない。
質問
コマンドラインで以下のコマンドを発行すると、「OK」が表示されます。
dotnet publish -o "./../output" -c Release
は
dotnetcli
はプロジェクトを正しくパブリッシュします。しかし、それは
appsettings.Production.json
ファイルだけをコピーし
appsettings.json
.
これはなぜでしょうか?ググったり、公式のコアドキュメントを読んだりしましたが、正しい環境の
appsettings.json
がどのようにパブリッシュ出力で終了することになっているのか、見つけられませんでした。
をコピーする必要があります。
appsettings.Production.json
を手動で公開フォルダにコピーする必要がありますか?
どのように解決するのですか?
更新しました。
現在の(新しい).csproj のフォーマットについて
その
CopyToPublishDirectory
属性が使用されるべきです。これは、ファイルを公開ディレクトリにコピーするかどうかを決定し、以下の値のいずれかを持つことができます。
- 常に
- 最新版を保存
- 決して
では、次のセクションを
.csproj
:
<ItemGroup>
<None Include="appsettings.Production.json" CopyToPublishDirectory="Always" />
</ItemGroup>
調べる 回答 とSO 公開時にファイルを除外またはインクルードする は、公開時のファイルの制御に関する詳細な情報を提供します。
"あなたの
project.json
ファイルでは、セクション
publishOptions
とサブセクション
include
のように、すでにいくつかのファイルを持っている場合です。
"publishOptions": {
"include": [
"appsettings.json",
"hosting.json",
"project.json",
"web.config"
]
},
を追加する必要があります。
"appsettings.Production.json"
をこの配列に追加してください。
コメントによる更新 :
-
すべての
appsettings.*.json
のようなファイルはappsettings.development.json
,appsettings.staging.json
とappsettings.production.json
は常にすべての環境に存在することになります。これを単純にproject.json
を使うことはできません。これは、将来的にproject.json
が に置き換わります。 をmsbuild
とし.csproj
. これがアプリにとって重要な場合、環境変数やデータベースなど、別の設定ファイルを使用することを検討してください。 -
複数の場所に設定が存在する場合、どの設定が適用されるかを決定するため、順序が重要であることに注意してください。以下から ドキュメント :
設定ソースの指定順は、複数の場所に設定が存在する場合に優先的に適用されることを定めるため、重要です。以下の例では、同じ設定がappsettings.jsonと環境変数の両方に存在する場合、環境変数の設定が使用されます。設定が複数の場所に存在する場合は、最後に指定した設定ソースが「勝つ」ことになります。ASP.NET チームは、ローカル環境が配備された構成ファイルで設定されたものを上書きできるように、環境変数を最後に指定することを推奨しています。
関連
-
[解決済み] KendoComboBox( jquery UI ) の値を ViewModel の値に設定する方法は?
-
[解決済み] ASP.NET CoreでVisual Studio 2019がハングアップする(応答しない)件
-
[解決済み】.NET CoreとASP.NET Coreの比較
-
[解決済み】AspNet Core scaffoldedアプリのLoginとRegisterページはどこにありますか?
-
[解決済み] .NET Core MVCのページが変更後にリフレッシュされない
-
[解決済み] ASP.NET Core 2.2 -> 3.0 アップグレード env.IsDevelopment() が見つかりませんでした。
-
[解決済み] asp.net core 1.0 でビューの現在の URL を取得する方法
-
[解決済み] ASP.NET Core 1.0 (ASP.NET 5 / vNext) のリリースはいつになりますか?
-
[解決済み] ConfigureServicesメソッドでIHostingEnvironmentにアクセスする
-
[解決済み] Entity Framework Coreでストアドプロシージャを実行するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] IIS で ASP.NET Core サイトを実行できない - HTTP エラー 502.5
-
[解決済み] KendoComboBox( jquery UI ) の値を ViewModel の値に設定する方法は?
-
[解決済み】Entity Framework Core: DbContextOptionsBuilder に 'usesqlserver' の定義がなく、拡張メソッド 'usesqlserver' もない。
-
[解決済み】.NET CoreとASP.NET Coreの比較
-
[解決済み】AspNet Core scaffoldedアプリのLoginとRegisterページはどこにありますか?
-
[解決済み] .NET Core MVCのページが変更後にリフレッシュされない
-
[解決済み] asp.net core 1.0 でビューの現在の URL を取得する方法
-
[解決済み] ConfigureServicesメソッドでIHostingEnvironmentにアクセスする
-
[解決済み] Entity Framework Coreでストアドプロシージャを実行するには?
-
[解決済み] Visual Studio 2019でASP.NET Core 3.0が表示されない