在编译时使用第三方.DLL

时间:2014-03-20 19:12:29

标签: c# dll nodatime

我在网站上查找了这个问题,例如link

我目前正在使用NodaTime.dll来满足DateTime的需求,我有兴趣继续使用它。但是,如果我分发我的应用程序的用户在其GAC或/ Libraries /文件夹中没有NodaTime.dll,则我的应用程序将无法运行(没有必要的依赖项)。我正在考虑使用我的应用发布NodaTime.dll,但在我的用户结束时,它看起来并不是无痛和/或直观。

我在想,也许如果有方法,在编译时,我可以使用.dll,我的应用可以在其内部引用NodaTime.dll

我到目前为止编译了我的应用程序,还添加了NodaTime.dll作为现有文件,但这样做并没有按预期工作 - 我的应用程序仍引用NodaTime.dll文件夹中的/Libraries/

enter image description here

2 个答案:

答案 0 :(得分:0)

使用Costura。它允许嵌入标记为CopyLocal True的程序集。

答案 1 :(得分:0)

ILMerge就是您所需要的。此官方Microsoft工具允许您将两个程序集合并为一个。开发时,您参考装配。分发时,首先合并两个程序集。

ILMerge下载链接:http://www.microsoft.com/en-us/download/details.aspx?id=17630