如何静态链接C#类库的库?

如何静态链接C#类库的库?,c#,c#-2.0,C#,C# 2.0,我正在使用微软提供的Dll在c#中创建一个类库 现在我想静态地将那些微软提供的库添加到我的Dll中。我如何才能做到这一点。 我只是添加了对微软提供的Dll的引用,并创建了我的Dll?好还是不好 如果Microsoft提供的dll在其他计算机上不可用,则我的dll可能会失败我需要静态添加库 我怎样才能做到这一点呢?在.NET中没有静态链接到另一个程序集这样的事情。有一些第三方产品,例如将程序集合并为一个程序集的产品,但它们不受支持 如果您拥有该库的重新分发许可证,则可以随程序集一起提供副本。在Vi

我正在使用微软提供的Dll在c#中创建一个类库

现在我想静态地将那些微软提供的库添加到我的Dll中。我如何才能做到这一点。 我只是添加了对微软提供的Dll的引用,并创建了我的Dll?好还是不好

如果Microsoft提供的dll在其他计算机上不可用,则我的dll可能会失败我需要静态添加库


我怎样才能做到这一点呢?

在.NET中没有静态链接到另一个程序集这样的事情。有一些第三方产品,例如将程序集合并为一个程序集的产品,但它们不受支持


如果您拥有该库的重新分发许可证,则可以随程序集一起提供副本。在Visual Studio中,可以通过在该程序集引用的“属性”窗口中将“复制本地”设置为“True”来实现此操作。

如果dll在执行时不可用;是的,它会失败。然而:

  • 许多Microsoft DLL是与.NET一起预装的(警告:“客户端配置文件”)
  • 许多微软DLL是可再发行的;所以你可以把它们包括在你的包裹里

核心框架中没有提供链接器,尽管它可能很有用。

不太清楚您想要实现什么,但您似乎担心您的类库是否能在其他机器上工作。问题是.Net framework是一个免费的可再发行版本,如果目标计算机上不存在,就应该安装它。机器上已经安装了.Net framework,因此应该不会有任何问题


在.Net中,除了向项目添加程序集引用之外,静态链接本身没有任何意义。希望它有助于

查看此处的讨论并阅读评论——Jeff确实提供了一种方法


你想用这个来实现什么?当你静态链接一个DLL在C++中时,它将EXE和DLL结合成一个文件,这使得它更容易在有限的环境中分布和运行。