2010-10-02 120 views
0

我有我安装并注册并出现在GAC(c:\ windows \ assembly)中的第三方.net DLL。我能够在我的开发和测试环境中成功访问GAL,但不能在生产环境中使用。无法从C#代码访问GAC

我的web服务是用C#.Net,.Net 2.0框架编写的。我只能假定问题发生在Assembly.LoadWithPartialName()被调用的行期间

我的开发环境是Windows XP Pro;测试是Windows Server 2003;生产是Windows Server 2003.测试和生产之间的唯一区别是生产通过https运行,而测试在http中运行。是否有可能存在其他权限错误?

我甚至尝试将DLL导入到项目中,但没有成功的运气。

任何帮助或见识都非常感谢!

+0

HTTPS会导致各种奇怪的事情。你确实需要确保它也在测试中工作。 – 2010-10-02 00:35:48

+0

你得到的错误是什么?您的产品是否也具有不同的.Net Trust权限? – dbones 2010-10-02 00:51:32

+0

您不应该使用LoadWithPartialName,它已过时。改用Load。服务器有什么特别之处?它是一个64位机器吗?提供有关DLL的详细信息。和邮政编码。 – 2010-10-02 00:54:42

回答

0

好了,那就是:在服务器上的一些原因,当我安装的组件,它运行为“服务器应用程序”,而不是“库应用程序”

管理工具 - >组件服务 控制台根目录 - >组件服务 - >计算机 - >我的电脑 - > COM +应用程序

右键单击相关实用程序,然后选择属性。在激活下,选择库应用程序;然后重启。