.NET 中 .deps.json 文件的用途,我可以避免吗?
Purpose of the .deps.json file in .NET and can I avoid it?
最近我们已经开始迁移到 .NET 5/6 以充分利用新的 C# 版本以及其他原因。我们使用 MSI 安装程序制作 WPF 应用程序进行分发。
查看我们的一个项目时,我注意到我们可能需要将一些新文件添加到安装程序中。特别是,我注意到在输出中添加了一个 .deps.json 文件。我的问题是:对于 运行 的任何 .NET exe 应用程序来说,这是否绝对必要?
在我看来,最终用户只有 运行时间,没有 Nuget 来安装任何缺少的库。所有必需的 dll,无论是来自引用的项目还是包,都包含在输出文件夹中,正如 .NET Framework 中所期望的那样,所以我们肯定不需要 deps.json 文件只是为了告诉 .NET 运行dll 在哪里?
有什么方法可以避免需要 .deps.json 文件吗?在使用 .NET 5/6 编写 MSI 时,我们是否应该注意任何其他更改?
感谢您的帮助。
这个文件不仅描述了你的依赖包,还有助于解决依赖地狱。在 .Net Framework 中,您有一个带有 assemblyBinding
的 app.config
文件,它告诉您要加载哪个版本的依赖项。在 .Net .deps.json
中,这行得通吗?
您可以在此处找到更多信息:Deep-dive into .NET Core primitives: deps.json, runtimeconfig.json, and dll's
最近我们已经开始迁移到 .NET 5/6 以充分利用新的 C# 版本以及其他原因。我们使用 MSI 安装程序制作 WPF 应用程序进行分发。
查看我们的一个项目时,我注意到我们可能需要将一些新文件添加到安装程序中。特别是,我注意到在输出中添加了一个 .deps.json 文件。我的问题是:对于 运行 的任何 .NET exe 应用程序来说,这是否绝对必要?
在我看来,最终用户只有 运行时间,没有 Nuget 来安装任何缺少的库。所有必需的 dll,无论是来自引用的项目还是包,都包含在输出文件夹中,正如 .NET Framework 中所期望的那样,所以我们肯定不需要 deps.json 文件只是为了告诉 .NET 运行dll 在哪里?
有什么方法可以避免需要 .deps.json 文件吗?在使用 .NET 5/6 编写 MSI 时,我们是否应该注意任何其他更改?
感谢您的帮助。
这个文件不仅描述了你的依赖包,还有助于解决依赖地狱。在 .Net Framework 中,您有一个带有 assemblyBinding
的 app.config
文件,它告诉您要加载哪个版本的依赖项。在 .Net .deps.json
中,这行得通吗?
您可以在此处找到更多信息:Deep-dive into .NET Core primitives: deps.json, runtimeconfig.json, and dll's