2010-07-14 76 views
0

我有一个应用程序使用BouncyCastle框架,我如何打包此应用程序,以便我不必手动将BouncyCastle的.dll放在其他计算机上?我假设这可以用安装程序或类似的东西来完成?应用程序默认在哪里查找引用的第三方库?使用第三方库打包C#应用程序?

回答

1

由于BouncyCastle是一个托管库,如果您在Visual Studio中创建安装程序项目并将其应用程序的exe添加到它,安装程序将自动检测对BouncyCastle的依赖关系,并将其添加到安装程序项目中。当用户安装你的应用程序时,BouncyCastle的dll将自动复制到安装目录,一切都会很好。

+0

Muchos gracias mi amigo。 – 2010-07-14 14:30:03

1

您需要创建安装程序。最好从ClickOnce开始。它将使您能够将所有需要的文件合并为一个并提供用于安装的UI。

第二个问题。查找程序集的默认位置是GAC

2

作为一种替代方法,您可以将程序集注入主程序集。 有一些类似DeepSea Obfuscator的商业工具支持这种工具,或者您可以使用ilmerge

工作的一般方法是使用独立的程序集进行开发,当您运送产品时,需要执行额外的构建步骤,将程序集合并成一个大程序集。你甚至可以内部化注入的程序集,所以只有你的公共接口是可访问的。

通过这种方式,您可以将产品作为单个部件进行部署,这对于构建组件来说尤其好。

要回答你的第二个问题; .NET框架将在几个位置查找。 GAC是占主导地位的,但是如果确保引用的程序集与主程序集位于同一个文件夹中,.NET将找到它。无需在GAC中注册。

相关问题