2012-01-11 141 views
1

Possible Duplicate:
Accessing a .NET Assembly from classic ASP使用ASP经典

消费.NET程序集我们目前有一个是写在ASP经典的一个网站。为了逐渐将网站迁移到ASP.Net,我们决定构建一个包含我们希望在C#中重写的函数的类库。问题是我们很难让这个工作在asp classic上。

以下教程我们已经:

  1. 编写了一个示例类,如下所示。
  2. 强命名使用 '-k SN OurKeyName.key'
  3. 注册我们的组件在GAC中使用我们的程序集 'GACUTIL /我OurAssembly.dll'
  4. 注册了装配使用“COM regasm/TLB WireCare.dll “

在执行我们收到以下错误上述步骤:

Server object error 'ASP 0177 : 800401f3' 

Server.CreateObject Failed 

/page.asp, line 2 

800401f3 

下面是.NET类的代码:

namespace CompanyName 
{ 
    public class Test 
    { 
     public string DoTest() 
     { 
      return "test"; 
     } 
    } 
} 

而ASP页面:

<% 
    Dim cart : Set cart = Server.CreateObject("CompanyName.Test") 
%> 

开发机运行:

  • Windows 7专业版64位
  • Visual Studio 2010中

任何想法?谢谢!

+0

引用自:http://stackoverflow.com/questions/520165/accessing-a-net-assembly-from-classic-asp您的.NET程序集设置为COM可见? – Zhais 2012-01-11 17:27:27

回答

0

它可能与权限有关。帐户ASP是否在.net程序集上具有足够的权限?

一个快速(AND TEMPORARY)测试是将ASP正在运行的帐户(例如IUSR_server-name或NT AUTHORITY \ NETWORK SERVICE)添加到机器上的管理员组,并查看是否开始工作。如果是这样,那么你需要追踪具有不足权限的特定文件。