这是我的第一篇文章,所以这里......
我有一个c#.net类库我已经构建并且已经在生产中使用了一段时间。该项目(使用.net framework 3.5,输出类型类库,强名称)没有任何非框架/标准引用。它被设置为用作COM组件,我们将其用于经典ASP网站。要部署我正在设置Build - > Configuration Manager将发布,构建,复制bin / release / PrintJob.dll文件到我们的Web服务器。然后我使用regasm“c:\ path info \ PrintJob.dll”/ tlb / codebase在服务器上注册它。此时,我们的经典ASP站点可以成功创建对象的实例并使用它的功能。
今天,我的任务是使用第三方.net组件实现新的功能(加密/解密)。我习惯于更多地使用ASP.NET应用程序,以便类库和COM组件。所以我更新我现有的项目,就像我的web项目一样。我在我的计算机上有新的dll,我首先必须给它一个强名称,所以我的类库会接受它,我在我的应用程序中添加对customCrypto.dll文件的引用,引用我的类文件中的命名空间(s ),测试它,构建它,它在本地工作正常。
我正在尝试使用与之前相同的方法部署它。我转到bin / release /文件夹,将PrintJob.dll文件复制到我的Web服务器,注册它,当我的网站现在尝试使用它时,它会抛出一个异常,它无法找到我的customCrypto.dll file(例外显示完整的强名称assemply属性)。
所以我的问题是我这样做是否正确?在Web项目中,customCrypto.dll文件将在发布期间自动与我的站点一起移动。所以dll自动结束项目没问题。但是使用这个类库,我是否还需要将customCrypto.dll文件复制到其他服务器?当构建发生时,为什么我的PrintJob.dll程序集内部没有包含此功能。如何让COM组件PrintJob.dll在部署时能够使用customCrypto.dll?由于第三方customCrypto.dll组件是.net组件,我应该以某种方式将其添加到计算机并以其他方式与我的应用程序一起使用吗?
我花了一整天时间试图找到对此的引用,但我能找到的更多是直接的问题,比如如何强烈命名一个程序集,添加它作为参考等等。非常感谢任何帮助。