msbuildのGenerateRuntimeConfigurationFilesの目的は何ですか?

grokky

netcore1.1プロジェクトを新しいVS2017 / csprojにアップグレードしました。

私のテストプロジェクトでのみ、次のように追加されました。

<PropertyGroup>
  <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>

私はそれがbinディレクトリにこれらのファイルを生成することを発見するためにいくつかの掘り下げを行いました:

  • ProjectName.Tests.runtimeconfig.json
  • ProjectName.Tests.runtimeconfig.dev.json

この設定とこれらのファイルは何ですか、なぜそれらが必要なのですか?

なぜそれらは私のテストプロジェクトのためだけに生成されたのですか?

マーティン・ウルリッヒ

これらは.NETCoreプロジェクトに固有であり、

  • 使用するランタイムとバージョン。通常はMicrosoft.NETCore.App「ホストフレームワークリゾルバー」は、フォルダー内で一致するフォルダーを探しsharedます(例C:\Program Files\dotnet\shared\Microsoft.NETCore.App\1.1.2)。複数のランタイムを並べてインストールでき、ホストは実行時にどれを使用するかを知る必要があるため、これは重要ですdotnet myapp.dll
  • ランタイムの追加オプション。最も目立つのは、おそらく「デスクトップ」モードと「サーバー」モードを切り替えるガベージコレクション設定です。<ServerGarbageCollection>true</ServerGarbageCollection>csprojファイルに設定すると、の値runtimeconfig.jsonが設定されます。(このプロパティは、Webプロジェクトではデフォルトでtrueに設定されています)
  • ホストの追加オプション。additionalProbingPathたとえば、復元されたパッケージを含むローカルのNuGetキャッシュに設定されます。NuGetパッケージを参照しても、そのdllファイルが出力ディレクトリにコピーされないことに気付いたかもしれません(デフォルト)。ホストは追加のプローブパスを使用して、この場所で参照されているパッケージ/ dllを検索します(実際には、2段階の検索です。deps.json使用するパッケージをホストに通知し、このプロパティはこのパッケージを検索する場所を通知します)。これは開発にのみ使用され、公開された出力に含まれるべきではないため(これは、ターゲットのNuGetキャッシュに依存することを意味するため)、この設定はに配置されますruntimeconfig.dev.json

「クラシック」.NETFrameworkプロジェクトには、アプリケーションにいくつかのランタイム設定を設定させるという概念もありました。これは、.exe.configファイル(存在するApp.config場合はプロジェクト内のファイルから構築される)を持つことによって達成されました。あなたはruntimeconfig.json「新しい.exe.configと考えることができますが、いくつかの重複する懸念があるだけです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

「for(;;)」の目的は何ですか

分類Dev

「?」の目的は何ですか?

分類Dev

RxJavaのdoOnNext(...)の目的は何ですか

分類Dev

DockerfileのVOLUMEの目的は何ですか

分類Dev

Makefileの.PHONYの目的は何ですか?

分類Dev

UIViewのautoresizingMaskの目的は何ですか?

分類Dev

Bootstrapの.rowの目的は何ですか?

分類Dev

NodeJSのmain()の目的は何ですか?

分類Dev

CountDownLatchのawait()の目的は何ですか?

分類Dev

GeofencingRequestの `setInitialTrigger`の目的は何ですか?

分類Dev

typescriptの__awaiterの目的は何ですか

分類Dev

ApplicativeFunctorの「pure」の目的は何ですか

分類Dev

JasmineのbeforeAll()の目的は何ですか?

分類Dev

EGitの「SwitchTo」の目的は何ですか?

分類Dev

Clojureの#_の目的は何ですか?

分類Dev

Scalazの*>と<*の目的は何ですか

分類Dev

reactbootstrapのcomponentClasspropの目的は何ですか

分類Dev

OracleSQLの/ * + * /の目的は何ですか?

分類Dev

Swiftの「自分」の目的は何ですか

分類Dev

JpaTransactionManagerのsetNestedTransactionAllowedの目的は何ですか

分類Dev

curdocの目的は、()とは何ですか?

分類Dev

BeginFormで@usingの目的は何ですか

分類Dev

/ etc / hostsの目的は何ですか?

分類Dev

/ etc / defaultの目的は何ですか?

分類Dev

ssh-agentの目的は何ですか?

分類Dev

「pip install --user ...」の目的は何ですか?

分類Dev

「a and a or b」の目的は何ですか?

分類Dev

Objects#requireNonNullの目的は何ですか

分類Dev

$ HOME / .localの目的は何ですか

Related 関連記事

ホットタグ

アーカイブ