我如何只包含我的程序中使用的.Net框架的某些dll以及安装项目而不是安装整个框架?
由于
答案 0 :(得分:6)
您希望将.NET应用程序部署到服务器,该服务器没有安装.NET,只安装了应用程序所需的特定System。* dll吗?
我很确定你不能这样做。除了GAC中的一堆DLL之外,框架还有更多内容。 (例如CLR,注册表条目等......)。您需要在客户端计算机上安装框架
答案 1 :(得分:4)
我很确定无法做到。 C#是托管代码,因此需要CLR和框架来支持它。
与其他编译为二进制的语言不同,.NET代码被编译为MSIL(Microsoft中间语言),因此无法直接由硬件运行。
答案 2 :(得分:4)
我会推荐.NET客户端配置文件,描述为here。 “.NET Framework Client Profile是针对客户端应用程序的完整.NET Framework 3.5 SP1的一个子集。它提供了简化的子集的Windows Presentation Foundation(WPF),Windows窗体,Windows Communication Foundation( WCF)和ClickOnce功能。这为面向.NET Framework客户端配置文件的WPF,Windows窗体,WCF和控制台应用程序提供了快速部署方案。“
答案 3 :(得分:3)
自.Net 3.5 SP1以来,您可以选择使用.NET Framework Client Profile。这使您可以在某些支持的方案中分发完整.Net包的子集。它仍然需要您使用安装程序 - 您不能只分发单个程序集。这样做的好处是可以显着减少封装尺寸和部署时间。
答案 4 :(得分:2)
没有。为了使您的pogram运行,目标机器必须安装相应版本的.Net框架。您不需要将整个SDK与您的应用程序捆绑在一起,但您需要为您的应用程序包含适当的.Net框架可再发行组件。
答案 5 :(得分:1)
我知道Salamander tools ...但没有使用它们。
从他们的网站:“Salamander .NET链接器,本机编译器和小型部署工具;部署.NET没有框架”
答案 6 :(得分:1)
您可以使用Xenocode之类的工具来链接程序集。
有一个免费的链接器(我认为来自微软),但它的名字让我感到厌烦。
答案 7 :(得分:1)
这是不可能的。您必须在目标计算机上具有适当的.Net框架运行时。您可以使用第三方库/程序集,但不能使用.Net运行时。
答案 8 :(得分:0)
答案 9 :(得分:0)
可以使用反射来标识依赖程序集,并将它们与您的部署“链接”起来。我在Java领域使用了类似的技术。