Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов C# ActiveX компонента 
:(
    Опции темы
Wanderer2019
Дата 31.8.2006, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



Всем привет... 
Есть такая задача - вызвать ActiveX компонент, написанный на C# мз кода на VBS.
Возможно ли это вообще???
P.s. да и вообще как написать ActiveX на шарпе? или это VB6 технология?

Это сообщение отредактировал(а) Wanderer2019 - 31.8.2006, 09:33
PM ICQ MSN   Вверх
Wanderer2019
Дата 31.8.2006, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



начал понемногу разбдераться... создал 
WindowsControlLibrary...

Создал snk файл, содержащий Public и Private ключи.

Далее в моем компоненте написал:
Код

[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("PPKeyFile.snk")]

namespace WindowsControlLibrary1
{
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }

        private void UserControl1_Load(object sender, EventArgs e)
        {
            Form1 frm = new Form1();
            frm.ShowDialog();
        }
    }
}


написал следующее:
sn.exe -Vr MyLib.dll

отписалось что библиотека зарегестрироована.

Далее пытаюсь компилить regasm`ом, а он выдает такое:

Access is denied.

Подскажите почему? что делаю не так?

Спасибо!

Это сообщение отредактировал(а) Wanderer2019 - 31.8.2006, 10:35
PM ICQ MSN   Вверх
Wanderer2019
Дата 31.8.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



Ну если сложно скзать что то определенное непосредственно по моим действиям и получившимся ошибкам... может что то знает что нибудь относительно регестрации контролов regasm`ом вообще? какова последовательность действий?

PM ICQ MSN   Вверх
ivashkanet
Дата 31.8.2006, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Wanderer2019, я в этом деле почти что 0 (15 мин назад был полным нулем  smile ), но попытаюсь помочь:

Цитата(Wanderer2019 @  31.8.2006,  10:24 Найти цитируемый пост)
sn.exe -Vr MyLib.dll

Зачем тебе параметр -Vr, он ведь пропускает верификацию сборки и, возможно, по этому regasm и не может зарегистрировать ее.


PM MAIL WWW ICQ   Вверх
Wanderer2019
Дата 31.8.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



ну вообщем как оказалось сточки типа 
sn.exe -Vr MyLib.dll
вообще не нужны....
т.е. начало такое:
1. Формируем файл ключей.
2. Добавляем в код вышеописанные строчки (в результате полученный длл уже будет содержать strong name).
3. вызываем regasm <- здесь возникает ошибка доступа.

=(

PM ICQ MSN   Вверх
ivashkanet
Дата 31.8.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Wanderer2019, а почему ты через консоль присваиваешь сборке строгое имя?
Из студии ведь намного проще  smile 
Свойства проекта--> signing --> sign the assembly ....


PM MAIL WWW ICQ   Вверх
Wanderer2019
Дата 31.8.2006, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 7
Всего: 17



все равно, гад, пишет 
AccessDenied =(
что за бред....
PM ICQ MSN   Вверх
mr.DUDA
Дата 2.9.2006, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Прошёл по шагам, VS 2005:

1) создал проект WindowsControlLibrary, с простейшим юзерконтролом, на который кинул кнопку
2) в свойствах проекта, закладка Signing, создал новый ключ (New...), которым подписывается сборка
3) в AssemblyInfo.cs исправил атрибут ComVisible с false на true
4) скомпилировал проект и вызвал 'regasm.exe WindowsControlLibrary1.dll", без доп. параметров

получил output:
Цитата
Microsoft ® .NET Framework Assembly Registration Utility 2.0.50727.42
Copyright © Microsoft Corporation 1998-2004.  All rights reserved.

Types registered successfully





--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.