GAC
От: _ichensky Европа https://github.com/ichensky
Дата: 17.09.14 11:47
Оценка:
В проекте(XProj) есть условные ссылки на ThirdParty library.
\ThirdParty\x86\lib.dll
\ThirdParty\x64\lib.dll

При билде под x86 и под Any CPU проект будет ссылаться на x86 lib.dll, при билде под x64 на либу x64.

Так же, эта же либа лежит в GAC.
\GAC\x86\lib.dll
\GAC\x64\lib.dll

Теперь если мы сделаем билд проекта либа не скопируется в папку \bin.
Насколько понимаю это потому что у нас эта же либа уже лежит в GAC, а в манифест библиотеки проекта просто добавится запись:
lib
Public Key of lib.

1. Почему либа не копируется в папку \bin? Ведь это так логично и мы явно указали где она сейчас лежит и это не GAC.

----
Дальше у нас есть пачка других проектов, которые в конечно счете буду иметь в себе ссылку на проект с либами из XProj.
И они все будут билдиться с флагом Any CPU.
Proj1
...Proj11
...Proj12
......XProj
...Proj13
......
Proj2
...Proj21
...Proj22
......XProj
...Proj23
......

2. Но так случилось что если мы запускаем Proj1, то в XProj подгружается \GAC\x86\lib.dll,
а если Proj2, то в XProj подгружается \GAC\x64\lib.dll.
Почему так может происходить?
3. У нас будет подгружаться библиотека из GAC, а не та на которую мы указали в условных ссылках проекта *.csproj.
Как сделать, что бы у нас подгружалась библиотека именно из ThirdParty, а не GAC. (конечно понимаю что либа из GAC будет расшаривать код между доменами .net приложений)
Підтримати Україну у боротьбі з країною-терористом.

https://prytulafoundation.org/
https://u24.gov.ua/

Слава Збройним Силам України!!! Героям слава!!!
Отредактировано 17.09.2014 11:49 #John . Предыдущая версия .
gac appdomain
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.