【发布时间】:2021-12-16 23:01:33
【问题描述】:
我已经为 Net 5.0 创建了一个控制台应用程序并构建了它的发布版本。在发布文件夹中,我找到了一些应用程序并不真正需要的文件(它在没有它们的情况下启动和工作):%AppName%.deps.json 和 %AppName%.runtimeconfig.dev.json。 在第二个文件中,我找到了一些列表(名称为“additionalProbingPaths”),在我的本地机器上包含三个绝对路径(其中两个甚至包含我的用户名)。显然,这些路径在运行我的应用程序的任何其他机器上都没有用。我想办法完全禁用生成这个文件,但发现只有:
<GenerateRuntimeConfigurationFiles>false</GenerateRuntimeConfigurationFiles>
但此选项禁用生成 %AppName%.runtimeconfig.json 并且我的可执行文件无法正常工作。 我还发现了这个link(用于生成这些文件的 MSBuild 任务的源代码)。此任务包含两个布尔选项:WriteAdditionalProbingPathsToMainConfig 和 GenerateRuntimeConfigDevFile。它们几乎是我想要的,但我找不到通过项目文件的 PropertyGroup 设置此选项的方法。我试过了:
<WriteAdditionalProbingPathsToMainConfig>true</WriteAdditionalProbingPathsToMainConfig>
<GenerateRuntimeConfigDevFile>false</GenerateRuntimeConfigDevFile>
但它不起作用。现在我只需在 Post-Build Event 中通过 del 命令删除该文件。 有什么方法可以阻止生成该文件 (%AppName%.runtimeconfig.dev.json)?据我了解,这些“附加探测路径”会导致一些本地 nuget 存储库(但我的应用程序没有安装任何 nuget 包!):
C:\\Users\\%UserName%\\.nuget\\packages
C:\\Users\\%UserName%\\.dotnet\\store\\|Arch|\\|tfm|
如果我的应用程序已经构建并准备好运行,它们需要什么。或者最终应用用户需要下载一些包来运行我的应用? 如果重要的话,我会使用 Visual Studio 2019。
P.S:很抱歉提出这么愚蠢的问题,但我是 Net Core 的新手。
【问题讨论】:
标签: c# .net-core visual-studio-2019 .net-5