gro*_*kky 4 msbuild csproj .net-core visual-studio-2017
我将netcore1.1项目升级到新的VS2017/csproj.
仅在我的测试项目中,它补充说:
<PropertyGroup>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
我做了一些挖掘,发现它在bin目录中生成这些文件:
ProjectName.Tests.runtimeconfig.jsonProjectName.Tests.runtimeconfig.dev.json这个设置和这些文件是什么,为什么我需要它们?
为什么他们只为我的测试项目生成?
这些是特定于.NET Core项目并指定的
Microsoft.NETCore.App."主机框架解析器"在shared文件夹内查找匹配的文件夹(例如C:\Program Files\dotnet\shared\Microsoft.NETCore.App\1.1.2).这很重要,因为可以并排安装多个运行时,并且主机需要知道在运行时使用哪个运行时dotnet myapp.dll.<ServerGarbageCollection>true</ServerGarbageCollection>int csproj文件时,这将导致设置一个值runtimeconfig.json.(对于Web项目,此属性默认为true)additionalProbingPath例如,设置为包含已还原包的本地NuGet缓存.您可能已经注意到,引用NuGet包不会导致其dll文件被复制到输出目录(默认情况下).主机使用额外的探测路径来查找在此位置引用的包/ dll(实际上它是两步查找:deps.json告诉主机要使用哪些包,此属性告知在哪里查找此包).由于这仅用于开发并且不应该在已发布的输出中结束(因为这意味着依赖于目标上的NuGet缓存),因此将此设置放入runtimeconfig.dev.json."经典".NET Framework项目还有一个让应用程序设置一些运行时设置的概念.这是通过拥有一个.exe.config文件(App.config如果存在,将从项目中的文件构建)来完成的.您可以将其runtimeconfig.json视为"新的.exe.config",但唯一有一些重叠的问题.
| 归档时间: |
|
| 查看次数: |
2145 次 |
| 最近记录: |