我最近试图在没有安装.NET的计算机上部署一个C#应用程序。
我知道在StackOverflow上有很多关于相同主题的问题。以下是其中的一些,我已经阅读了所有的回答:
在不安装.NET客户端配置文件的情况下运行.NET应用程序?
在Windows XP中运行C# Windows应用程序而不安装.NET Framework
所有回答上述问题的都表示,没有特定的软件等是不可能的。其中提到的一个软件是Salamander .NET Linker。唯一的问题是,经过Salamender处理后,我似乎无法运行该应用程序。我知道这本身是不可能的,因为它需要.NET虚拟机来运行。但是,过去我制作过Java应用程序,并随之一起发布了整个JVM。令人惊讶的是,它们仍然可以工作。因此,这不是与上述问题重复的原因是我的真正问题是:我需要打包.NET框架的哪些项目?如果我确实设法将所有项目打包,将它们放在运行应用程序的同一目录中是否能使应用程序运行?
我找到了一个解决方案,Microsoft .NET Redist Package。唯一的问题是它有自己的GUI。除此之外,它将是完美的选择。所以,有人可以告诉我以下两件事中的其中一件吗:
是否有命令行的.NET包,如果有,我应该在哪里下载?
如果没有,或者这样做不切实际,那么我需要从.NET安装中复制哪些目录?
我知道这些文件和目录是特定于系统的,我的.NET安装可能无法在您的计算机上运行,但如果C#像Java一样,那么这应该是可行的。是吗?大小不是限制,对我来说,应用程序及其所有文件是否为1GB或仅为1MB并不重要。
如果万不得已,我使用Dependency Walker检查了我的程序的所有依赖项。如果我打包了其中大部分,理论上我的应用程序会工作吗?