在这里生气。
我是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位等?
我很乐意逐步完成一个过程,帮助我确定问题的原因,如果有人可以推荐一个吗?
答案 0 :(得分:0)
看起来在另一篇文章中回答:Accessing a .NET Assembly from classic ASP
...确保您的.Net程序集设置为 是COM可见。
答案 1 :(得分:0)
在Visual Studio中,如果您尝试将其添加为参考,组件是否会显示在“COM”表下的对象列表中?程序集是否依赖于其他程序集或DLL?
这里只是一个猜测,听起来要么失去了regasm步骤,这会在注册表中添加适当的东西,或者在我的情况下最近,IIS在64位运行,但程序集编译为32位。