I am running Classic ASP on Windows 2008 Server x64 in 64 bit mode. ADODB works fine in 64 bit with classic ASP. I have a problem with my .NET COM DLL. I created a .NET COM DLL with code such as a sample:
using System.Runtime.InteropServices;
namespace TestNamespace
{
[Guid("C446E97E-B415-4677-B99E-9644657FC98"),
ProgId("TestNamespace.TestClass"),
ComVisible(true)]
public class TestClass
{
[ComVisible(true)]
public void TestMethod(string s)
{
}
}
}
DLL compiled for any CPU. In ASP, I create an object and an execute method:
Set test = Server.CreateObject("TestNamespace.TestClass")
test.TestMethod("test string")
Set test = Nothing
I register a DLL using RegAsm:
%windir%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe /tlb /codebase TestNamespace.dll
On the x86 platform, ASP and DLLs work fine.
In Windows 2008 Server, I tried:
- Compile DLL for x64 and register using ... \ Framework64 \ v2.0.50727 \ RegAsm.exe
- Compilation for different platforms and placement in different places, including GAC
- many more
Errors (different situations):
- Microsoft VBScript runtime error with error '800a01ad' Server.CreateObject
- - 'ASP 0177: 80070002' Server.CreateObject
- 'ASP 0177: 800401f3' Server.CreateObject
- 'ASP 0177: 80131040' Server.CreateObject
, Windows 2008 Server x64, ASP 32- . , 64-!
, , 32 .
- ASP .NET COM, 64-?