最近,我们开始迁移到.NET 5/6,以充分利用新的C#版本。我们使用MSI安装程序来发布WPF应用程序。
在查看我们的一个项目时,我注意到我们可能需要在安装程序中添加一些新文件。特别是,我注意到在输出中添加了一个. deps.json文件。我的问题是:这对于运行任何.NET exe应用程序来说是绝对必要吗?
在我看来,最终用户将只有运行时,而没有Nuget来安装任何缺少的库。所有必需的dll,无论是来自引用的项目还是包,都包括在输出文件夹中,正如在.NET框架中所期望的那样,所以我们肯定不需要deps.json文件来告诉.NET运行时dll在哪里?
有没有什么方法可以避免使用. deps.json文件?在使用.NET 5/6编写MSI时,有没有其他需要注意的变化?
1条答案
按热度按时间ruyhziif1#
这个文件不仅描述了依赖项包,而且还帮助解决依赖项问题。在.Net Framework中,有一个
app.config
文件,其中包含assemblyBinding
,它告诉您要加载哪个版本的依赖项。在.Net.deps.json
中,执行此操作。您可以在此处找到更多信息:Deep-dive into .NET Core primitives: deps.json, runtimeconfig.json, and dll's