![]() |
Модераторы: diadiavova, gambit |
![]() ![]() ![]() |
|
efedron |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 16.3.2005 Репутация: нет Всего: 4 |
Господа, подскажите что делаю не так:
Мне нужно инициализировать API одного приложения, в документации сказано:
Весь API находится в библиотеке tfdapi8.dll, добавляю ее в референс, потом пишу:
при запуске возникает ошибка: An unhandled exception of type 'System.IO.FileNotFoundException' occurred in system.windows.forms.dll в дополнительной информации: Unhandled Exception: System.IO.FileNotFoundException: File or assembly name tfdapi8, or one of its dependencies, was not found. File name: "tfdapi8" подскажите, в чем проблема? --------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений. |
||||
|
|||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
||||
|
||||
efedron |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 16.3.2005 Репутация: нет Всего: 4 |
ivashkanet,
при компилляции она действительно кладется рядом с моим экзешником, но все равно он ее почему-то не находит тем более, мне нужно, чтоб эта библиотека искалась по тому пути, где она лежит. В свойствах проекта написано: Reference path: C:\Program files\{путь_к_библиотеке} - разве так работать не должно?? --------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений. |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
||||
|
||||
efedron |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 16.3.2005 Репутация: нет Всего: 4 |
ivashkanet,
ну не знаю, что может быть такое? мож где-то что-то не так делаю? (я в VB.NET - профан) --------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений. |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
efedron, попробуй положить dll рядом с приложением, что будет
А так, вроде, все правильно делаешь ![]() |
|||
|
||||
efedron |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 16.3.2005 Репутация: нет Всего: 4 |
ivashkanet,
в общем, заработало, когда я положил приложение в папку с dll (просто там лежат другие dll, которые полльзует объявляемая мной dll) Вопрос в том, как заставить приложение искать tfdapi8.dll по такому пути, где она всегда лежит (c:\Program files\{путь})?? --------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений. |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
Отлично
![]() Что я могу сказать... Зайди в свойства проекта (правой на проекте в Solution Explorer --> Propertes). Там открой вкладку References и полазь такм А вообще, efedron, вопросы на прямую не касаемые VB лучше задавать в разделе Общие вопросы по .NET и C# |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
VB.NET тебе не даст такого. Так уж устроили разработчики из майкрософта. Вроде так была написанно в кратце об VS.NET на этом же сайте. Типа чтобы одни и те жи названия библиотек не мешались в данной деректории, они подумали целесообразно будет чтобы все библиотеки используемые программой лежали в месте с ней. Хотя System, Windows.Forms, Drawing и т.д. не лежат в месте с программой! А значить возможно?
|
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
DarkDragon, все системные сборки лежат в GAC (Global Assembly Cache). В нем можно зарегистрировать любую сборку (при наличии у нее строгово имени (Strong name)).
P.S. Неужели нельзя ручками указать расположение файла ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
При запуске приложения CLR ищет все библиотеки, на которые есть ссылки, в специальных каталогах: сначала в папке приложения, затем в подпапке с тем же именем, что и у сборки, затем проверяет .config-файл на наличие дополнительных указаний (указания подпапки или URL для загрузки), затем пробует загрузить сборку из GAC.
http://msdn.microsoft.com/msdnmag/issues/0...BasicInstincts/ |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
ivashkanet
А как ему этот Strong name указать? Exception А можно примерчик с .config, а то недогоняю, как указать путь к какой нибудь библиотеке. Еще можно через Reflector. Там вооще круто ![]() |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 5 Всего: 149 |
Если из VS, то все елементарно: открываем свойства проекта, вкладка Signing. Там выбираешь sign the assembly... Если не из VS, то есть утилита командной строки, идущая вместе с Фрэймворком. P.S. А вообще --- поиск рулит ![]() |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Наверное это реализуется, начиная с 2005 версии
![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Ты что ![]() ![]() |
|||
|
||||
Wanderer2019 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 1 Всего: 17 |
я недавно поднимал оооочень длинную тему по этому вопросу.... попробуй поиском найти...
а dll-ка она .NET`овская? |
|||
|
||||
DarkDragon |
|
||||||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Я смотрел в Project->Properties, нету тама ни вкладки Signing, и строк с Sign ![]() Там про Assembly, только Wrapper Asm... Key File, и Wrapper Asm... Key Name, и Assembly Name. А как называется утилита коммандной строки? Wanderer2019 , если ко мне то:
На форуме общие вопросы .NET?
Ага. |
||||||
|
|||||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
Key file - это и есть файл ключа, которым подписывается сборка
![]() |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Во я тормоз
![]() ![]() ![]() |
|||
|
||||
Wanderer2019 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 1 Всего: 17 |
Вообщем суть дела такова...
Не обязательно пихать эту dll в GAC. Достаточно указать параметр в regasm, символизирующий чтение длл из текущий папки - /codebase. Весь цикл по регистрации моей длл я делал следующим образом. 1. создал ключи при помощи утилитки sn (sn -k key.snk) 2. в файле AssemblyInfo.cs прописываешь строки о немедленном подписании. (У меня там 3 строки касательно этого... что я писал, а что было я не помню поэтому выложу все
) 3. Компилишь - получаешь свою dll. 4. Регистришь ее средсвами RegAsm. (regasm /tlb mycom.dll /codebase) все. после этих действий я смог создать свой компонент из VBS через CreateObject("Namespace.Class") Возможно данное описание чем то тебе поможет. Это сообщение отредактировал(а) Wanderer2019 - 12.10.2006, 15:45 |
|||
|
||||
DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: 5 Всего: 8 |
Wanderer2019, Спасибо
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума VB .NET | |
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |