可以从经典的Asp实例化GAC中的组件

时间:2011-05-13 13:19:39

标签: asp.net com asp-classic

在这里生气。

我是Windows开发人员的新手,我在GAC注册了我的dll。

我收到一条消息,说“程序集已成功添加到缓存中”,我可以执行此操作 Gacutil / l“它的名字”,并在那里看到

但是当我尝试在Classic asp中实例化它时: 设置TemperatureComponent = Server.CreateObject(“comInteropTutorial”)

我一直收到错误: “服务器对象:006~ASP 0177~Server.CreateObject失败~800401f3”

我认为这意味着找不到它?

我还尝试为已经在Global缓存中的其他组件执行相同的操作,例如: 设置TemperatureComponent = Server.CreateObject(“XamlBuildTask”)

同样的事情发生了。

在将dll添加到GAC之前,我执行了以下操作: 我在Visual Studio 2010中编译了dll并执行了以下操作: 点击项目 应用程序 - 签署程序集 构建 - 注册Com interop 签名 - 签署程序集使用您使用sn命令创建的文件(sn -k)

我现在真的被困住了,有人可以推荐什么吗?

我在这里的Windows 7上,如果重要的话就不知道...... 64位32位等?

我很乐意逐步完成一个过程,帮助我确定问题的原因,如果有人可以推荐一个吗?

2 个答案:

答案 0 :(得分:0)

看起来在另一篇文章中回答:Accessing a .NET Assembly from classic ASP

  

...确保您的.Net程序集设置为   是COM可见。

答案 1 :(得分:0)

在Visual Studio中,如果您尝试将其添加为参考,组件是否会显示在“COM”表下的对象列表中?程序集是否依赖于其他程序集或DLL?

这里只是一个猜测,听起来要么失去了regasm步骤,这会在注册表中添加适当的东西,或者在我的情况下最近,IIS在64位运行,但程序集编译为32位。