Страница: 1 | 2 | 
		
		 
			   
			 
			 Ситуация: в VB6 если подключаешь внешнюю библиотеку (References), то после компиляции получаешь exe-шник, который использует указанные установленные в системе библиотеки, в VB.NET по умолчанию при создании exe-шника он туда же в папку накидает и все использованные "нестандартные" dll-ки и при запуске будет использовать именно их а не те, которые уже установлены. Вопрос, как задать, чтобы программа использовала не локальные копии библиотек (которые надо "таскать" вместе с самим файлом программы), а те же самые библиотеки которые уже установлены в системе? Пробовал для добавленных библиотек менять свойство "Copy Local" на False - при компиляции dll-ки в папку к программе не копируются, но и запускаться без них не желает. Что делать то? 
			 
			 Нет в GAC ничего не засовывал. А можно ли с помощью GAC (или другим способом) получить на VB.NET тот же результат, что и для VB6, т.е. чтобы при работе программы использовались только библиотеки уже установленные в системе? (Ситуация: необходимые библиотеки установлены другой программой и хотелось бы просто их использовать без того чтобы проводить для них какие то дополнительные настройки на компьютере пользователя.) Не совсем понял: для VB6 все и так работает, какое соответствие требует VB.NET? Ладно, на своем компьютере я могу и локальные версии использовать или с ГАКом поработать, а как быть с готовой программой на компьютере пользователя(?!): нужные ddl-ки там уже установлены и зарегистрированы - получается просто использовать их программой на VB.NET (без дополнительных манипуляций) как это можно делать на VB6 я не смогу, так?  Жаль, похоже от идеи перехода на VB.NET придется отказаться. В том то и проблема, что на компьтерах пользователя в настоящее время нужные мне dll-ки лежат вне GAC, а запихивать их туда самостоятельно или таскать их второй комплект вместе с программой на данный момент мне не с руки.  В общем - жаль, приобщение к новой технологии откладывается до лучших времен. >А что мешает в GAC поместить или скопировать в папку с твоей прогой? т.е. программа будет тащить за собой "личную" копию GAC и при установке "запихивать" в него все необходимые ей библиотеки - интересное решение. Сразу возникает несколько вопросов (вполне возможно что примитивных): 1) А GAC входит в число компонентов, которые дозволительно включать в дистрибутив собственной программы? 2) Если в GAC "запихиваются" необходимые библиотеки не возникнет ли для остальных программ которые с ними работали до этого каких-либо проблем? 3) GAC одинаково работает на всех операционках, на которых без проблем работает VB6? В общем вопросы больше теоретические, т.к. если этот метод не является "обкатанным", то проверять его работоспособность на собственной программе я не стану. Ну в общем понятно, это примерно тоже самое, что при инсталяции найти на компьютере пользователя нужные файлы и откопировать их в папку к собственной программе. Идея конечно понятная, но несколько странная - а на фига тогда вообще регистрировать dll-ки в системе если их теперь так хитро использовать приходится?! Неужели теперь при использовании сторонних библиотек теперь всем придется идти на разные ухищрения? Да нет, не ActiveX, а обычные библиотеки котрые регистрируются через regsvr32. 
			
 
  
		
     
  
    
Вопрос: Использовании подключенных библиотек в VB.NET и...
     
    
Добавлено: 04.11.03 17:33
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 xTractor
      
       
  
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 17
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 Павел
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #1
      
Добавлено:  04.11.03 17:37
       
    
       
  
Твои библиотеки находятся в GAC? 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 xTractor
![]()
Вопросов: 3
Ответов: 11
      
 Профиль |  | #2
       
Добавлено:  04.11.03 18:09
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
  Артём Л.
![]()
![]()
ICQ: 280044491 
Вопросов: 43
Ответов: 227
      
 Профиль |  | #3
       
Добавлено:  04.11.03 19:19
       
    
       
  
нужно соотвествие версий длл 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 xTractor
![]()
Вопросов: 3
Ответов: 11
      
 Профиль |  | #4
       
Добавлено:  05.11.03 09:54
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
  Артём Л.
![]()
![]()
ICQ: 280044491 
Вопросов: 43
Ответов: 227
      
 Профиль |  | #5
       
Добавлено:  05.11.03 12:01
       
    
       
  
если работаешь с гаком, то в нем должна быть та версия длл, на которую 
    
ссылался твой проэкт во время компиляции. В гаке может сидеть несколько
одних и тех же длл, но разных версий, поэтому если не хотите иметь минингита
держите длл при ехе-шнике ставя копилокал в тру, ну а если хотите
использовать уже имеющуюся то через гак..
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 xTractor
![]()
Вопросов: 3
Ответов: 11
      
 Профиль |  | #6
       
Добавлено:  05.11.03 12:10
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 Павел
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #7
      
Добавлено:  05.11.03 12:45
       
    
       
  
Ты можешь юзать эти dll, если они лежат в GAC и той же версии, что и 
    
те библиотеки, которые ты указывал при компиляции.
Посмотри, как используются библиотеки .NET Framework: ведь их не надо
таскать с exe. Просто они лежат в GAC и можно их юзать..
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа:
 xTractor
![]()
Вопросов: 3
Ответов: 11
      
 Профиль |  | #8
       
Добавлено:  05.11.03 13:42
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа:
 Павел
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #9
      
Добавлено:  05.11.03 16:00
       
    
       
  
А что мешает в GAC поместить или скопировать в папку с твоей прогой? 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 10 
      
Автор ответа:
 xTractor
![]()
Вопросов: 3
Ответов: 11
      
 Профиль |  | #10
       
Добавлено:  05.11.03 17:09
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 11 
      
Автор ответа:
 Павел
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #11
      
Добавлено:  05.11.03 17:37
       
    
       
  
GAC - Global Assembly Cashe, то есть глобальный набор сборок. Это 
    
такая хреновина, куда можно скидывать сборки, которые потом смогут
использовать любые .NET приложения.
		
	  
			 
	
		 
    
       
    
Номер ответа: 12 
      
Автор ответа:
  Артём Л.
![]()
![]()
ICQ: 280044491 
Вопросов: 43
Ответов: 227
      
 Профиль |  | #12
       
Добавлено:  05.11.03 17:43
       
    
       
  
> 1) А GAC входит в число компонентов, которые дозволительно включать в 
    
дистрибутив собственной программы?
гак - это не компонент, это простая папка, в которой хранятся все
зарегестрированные компоненты фрэймворка такие как форма, кнопка...., туда
же можна запихивать и свои компоненты, для этого можна воспользоваться
gacutil
> 2) Если в GAC "запихиваются" необходимые библиотеки не возникнет ли для
остальных программ которые с ними работали до этого каких-либо проблем?
нет
>3) GAC одинаково работает на всех операционках, на которых без проблем
работает VB6?
по-моему с гаком может работать только фрэймворк
		
	  
			 
	
		 
    
       
    
Номер ответа: 13 
      
Автор ответа:
 xTractor
![]()
Вопросов: 3
Ответов: 11
      
 Профиль |  | #13
       
Добавлено:  05.11.03 18:00
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 14 
      
Автор ответа:
 Павел
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #14
      
Добавлено:  06.11.03 07:21
       
    
       
  
А про какие Вы dll говорите, товарищ? Ведь .NET dll не нужно и 
    
невозможно зарегистрировать в системе... Собственно, в .NET это
специально сделали, предполагая, что каждый будет свои dll таскать
вместе с exe, и тем самым пытались избежать т.н. "DLL Hell". А Вы
говорите что-то про регистрацию... Или Вы про ActiveX?
		
	  
			 
	
		 
    
       
    
Номер ответа: 15 
      
Автор ответа:
 xTractor
![]()
Вопросов: 3
Ответов: 11
      
 Профиль |  | #15
       
Добавлено:  06.11.03 10:13