gpt4 book ai didi

c# - 打包 .NET 应用程序以便它可以在没有 .NET 的计算机上运行

转载 作者:太空狗 更新时间:2023-10-29 18:06:52 25 4
gpt4 key购买 nike

我最近一直在尝试在未安装 .NET 的计算机上部署 C# 应用程序。

我知道在 StackOverflow 上有很多关于同一主题的问题。以下是其中的一些,我阅读了对所有人的回复:

Packaging up the .net framework with a .net application deployment

Run a .net application without installing .net client profile?

Run C# windows application in windows XP without installing .NET Framework

所以对上述问题的所有回答都表明没有特定的软件是不可能的,等等。提到的一个软件是Salamander .NET Linker。 .唯一的问题是,在 Salamender 处理完应用程序后,我似乎无法运行该应用程序。我知道这本身是不可能的,因为它需要 .NET 虚拟机才能运行。然而,在过去,我制作了 Java 应用程序,并与它们一起发布了整个 JVM。令人惊讶的是,它们仍然有效。所以这不是上述问题的重复的原因是因为我真正的问题是:

我需要打包 .NET Framework 的哪些项目?如果我设法打包所有内容,将它们放在与我正在运行的应用程序相同的目录中是否允许应用程序运行?

我找到了一个解决方案,Microsoft .NET Redist Package .唯一的问题是它有自己的 GUI。除此之外,这将是一个完美的契合。那么,谁能告诉我以下两件事之一:

是否有命令行 .NET 包,如果有,我从哪里下载它?

如果没有,或者这样做不切实际,我大约需要从 .NET 安装中复制哪些目录?

我知道这些文件和目录是特定于系统的,我的 .NET 安装可能无法在您的计算机上运行,​​但如果 C# 类似于 Java,那么这应该是可以实现的。是吗?大小不是限制,应用程序及其所有文件是 1GB 还是只有 1MB 对我来说都没有关系。

如果没有其他解决方案,我使用了 Dependency Walker检查我的程序的所有依赖项。如果我要打包其中的大部分,我的应用程序在理论上是否可行?

最佳答案

对于 .NET,您确实必须只安装适当的 .NET 框架。 .NET Framework 安装确实包含允许静默安装的命令行选项,例如:

dotnetfx35.exe /q /norestart

有关命令行选项的详细信息,请参阅 options for 3.5.NET 4.0 .

也就是说,大多数安装包都会在安装过程中为您处理这些细节。使用合适的安装程序会自动处理这种依赖关系。

关于c# - 打包 .NET 应用程序以便它可以在没有 .NET 的计算机上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10050160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com