Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > лажа с проектом. не компилится рефлексия


Автор: gambit 9.8.2010, 00:25
имеется 2 проекта, лежат в соседних папках.

В одном написано:
Код

string path = Application.StartupPath + @"\FiguresLibrary.dll";
Assembly assembly = Assembly.LoadFile(path);


во втором
Код

string path = Application.StartupPath + @"\FiguresLibrary.dll";
Assembly assembly = Assembly.LoadFile(path);


Первый работает, второй на данной строчке падает с эксепшеном:
Цитата

Предпринята попытка загрузить сборку из сетевого ресурса, что в предыдущих версиях .NET Framework могло привести к помещению сборки в "песочницу". Этот выпуск .NET Framework не включает политику CAS по умолчанию, поэтому данная загрузка может быть опасной. Если эта нагрузка не предназначена для изоляции сборки, включите переключатель loadFromRemoteSources.


как исправить, я не совсем понял из описания msdn, но суть не в этом. В чем же разница между ними???
приложения оба консольные, эти строки в обоях случаях идут первыми, и с библиотекой FiguresLibrary.dll все ок.


Автор: Springtime 9.8.2010, 06:43
Цитата(gambit @ 9.8.2010,  00:25)
Предпринята попытка загрузить сборку из сетевого ресурса

что непонятно из этого?

Какая версия Framework?

У .NET есть ограничения на выполнение и загрузку сборок из сетевых ресурсах

Автор: diadiavova 9.8.2010, 08:35
Цитата(gambit @  9.8.2010,  01:25 Найти цитируемый пост)
как исправить, я не совсем понял из описания msdn

В файле конфигурации(если его нет в проекте - добавь)
http://msdn.microsoft.com/ru-ru/library/dd409252.aspx
Цитата(gambit @  9.8.2010,  01:25 Найти цитируемый пост)
В чем же разница между ними???

Очевидно в версиях фреймворка, в 4-м более строгая политика безопасности.

Автор: gambit 9.8.2010, 09:17
Цитата(Springtime @  9.8.2010,  06:43 Найти цитируемый пост)
что непонятно из этого?

Цитата(gambit @  9.8.2010,  00:25 Найти цитируемый пост)
имеется 2 проекта, лежат в соседних папках.

ни о какой сети речи нет.

Цитата(diadiavova @  9.8.2010,  08:35 Найти цитируемый пост)
Очевидно в версиях фреймворка, в 4-м более строгая политика безопасности. 

так на одной машине они созданы, и в один день.

если кому будет интересно, то могу выложить видео, как один исполняется а второй, точно такой же падает.

Автор: Springtime 9.8.2010, 09:19
давай ))) очень интересно  smile 

желательно ещё полную инфу по эксепшену с содержанием переменных

Автор: diadiavova 9.8.2010, 09:28
Цитата(gambit @  9.8.2010,  10:17 Найти цитируемый пост)
так на одной машине они созданы, и в один день.

Дело не в машине, а в целевой платформе(посмотри в свойствах проекта, там на вкладке Компиляция есть кнопка Дополнительные параметры компиляции, там найдешь).
Там, где не запускается, скорей всего компилится под 4-ый фреймворк.

Автор: gambit 9.8.2010, 22:02
видео сделал. Завтра выложу.
В принципе мне решение не очень нужно, так как это были тестовые примеры на изучение рефлексии. И в итоге я со всем разобрался, на основе проекта который смог запуститься)))
Но эффект такой некомпиляции весьма интересен.

Автор: Mephisto 10.8.2010, 13:36
Обрати внимание на InnerException внутри твоего Exception. При работе со сборками часто сам Excrpion мало о чем говорит вообще. Конкретную проблему раскрывает именно вложенное исключение.

Добавлено через 5 минут и 50 секунд
Скорее всего проблема в зависимостях сборок, мне так кажется. Подгружаемая сборка скорее всего не может найти сборку от которой зависит сама. Или конфликт зависимостей при загрузке.

Автор: gambit 11.8.2010, 09:33
как на форум вставить видео я не нашел, по этому ссылка на ютуб:
http://www.youtube.com/watch?v=Blo7ioVznWM

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)