Регистрация DLL на 64-битной Windows Server 2008 Standard SP2 IIS 7 - PullRequest
2 голосов
/ 21 февраля 2012

Проект: VS2010 C # Библиотека классов.Локальный компьютер: Win 7 64bit

В проекте изменены следующие элементы:

Properties / AssemblyInfo.cs [Assembly: ComVisible (true)]

Project / Properties / вкладка Build: Зарегистрировать Com для взаимодействия: проверено Создать сборку Seralization: авто

Я настроил тестовые классы для каждого следующего поста с интерфейсами, comvisible = true и guids и т. Д .: Создание библиотеки взаимодействия COM для ASP Classic с использованием 4.0Framework и Visual Studio 2010

Мне удалось зарегистрировать эту DLL на моем локальном компьютере через regasm.C: \ windows \ Microsoft.Net \ Framework \ v4.0.30319> regasm NrccuaComFileSystem.dll

Типы зарегистрированы успешно.

На сервере regsvr, regasm, regasm с tlb все завершаются неудачно со следующимсообщение:

RegAsm: ошибка RA0000: не удалось загрузить файл или сборку 'file: /// c: \ Windows \ Micr osoft.NET \ Framework \ v4.0.30319 \ NrccuaComFileSystem.dll' или одну из ее зависимостей,Операция не поддерживается.(Исключение из HRESULT: 0x80131515)

Что я здесь не так делаю?

Ищет ли он точку входа, если да, то совершенно потерян, как обеспечить это.

Посмотрел также следующий пост ... Классический ASP, использующий COM + .Net Interop 64-битный Windows Server 2008 IIS 7 Server. Сбой при создании объекта

Вы можете скачать тестовый проект здесь: http://bit.ly/wt5iJz

Спасибо.

1 Ответ

2 голосов
/ 22 февраля 2012

Работает сейчас. Помог следующий пост.

Классический ASP с использованием COM + .Net Interop 64-битный Windows Server 2008 IIS 7 Server. Сбой CreateObject

Нам нужно было установить Windows SDK для .net Framework 4

http://www.microsoft.com/download/en/confirmation.aspx?id=8279

Затем нам нужно было добавить сборку в GAC

C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ NETFX 4.0 Tools> gacutil / i C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ File.dll

Тогда нам нужно было зарегистрировать сборку с помощью regasm

regasm / tlb File.dll

...