[英]How to statically link libraries for a C# ClassLibrary?
我正在使用微软提供的Dll在c#中创建一个类LLibrary。
现在我想静态地将那些Microsoft提供的库添加到My Dll。我该怎么做呢。 我只是简单地添加了对Microsoft提供的Dlls和创建My Dll的引用? 好不好?
如果微软提供的DLL在其他机器上不可用,那么我的Dll可能会失败,我需要静态添加库?
我怎样才能做到这一点??
在.NET中没有静态链接到另一个程序集的东西。 有些第三方产品(如.NET链接器)将程序集合并为一个,但它们不受支持。
如果您拥有该库的再分发许可证,则可以随程序集一起提供副本。 在Visual Studio中,您可以通过在该程序集引用的属性窗口中将“Copy Local”设置为“True”来实现此目的。
如果dll在执行时不可用; 是的,它会失败。 然而:
虽然ILMerge可能很有用,但核心框架中没有提供链接器。
它不是很清楚你想要实现什么,但似乎你担心你的类lib可以在其他机器上工作。 问题是.Net框架是一个免费的可再发行组件,如果目标机器上不存在则应该安装。 由于.Net框架已安装在机器上,因此应该没有问题。
这样的静态链接在.Net中没有意义,除了向项目添加程序集引用之外。 希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.