2013-12-23 3 views
0

У меня есть проект библиотеки классов, мне нужно ссылаться на сборку в моем проекте библиотеки классов, который нацелен на v2.0.50727, а затем в конечном итоге вызывает мою библиотеку классов из проекта, который использует .Net 4 версию ,Проблема сборки смешанного режима с библиотекой классов

Когда приложение запускается, то он дает ошибку «Смешанный режим сборка построена на версию„V2.0.50727“среды исполнения и не может быть загружена в 4.0 выполнении без дополнительной информации о конфигурации.»

Я знаю, может добавлять атрибуты в app.config, чтобы избежать этой ошибки, но в моем случае это библиотека классов, у которой нет app.config.

Я попытался изменить свою библиотеку классов на .net framework 2, но она все еще показывает ошибку.

При изменении целевого рамки основного приложения от .net 4 в .net 3.5, компилятор выдаст ошибку на следующей строке:

с использованием System.ComponentModel.Composition;

Что мне делать?

+0

Вы должны предоставить файл .config для EXE, который использует вашу библиотеку классов. Получение этой сборки смешанного режима, перестроенной для целевой .NET 4, очень тривиально. Там есть программист, которому нужно 5 минут, чтобы сделать это за вас, вы не найдете его здесь. Возьмите телефон и позвоните ему. –

+0

Хмм, в моем случае это Microsoft, и EXE, который я использую, это Microsoft Dynamics AX Retail POS, не могу назвать их, это не сработает, может быть, мне нужно преобразовать мою программу в exe и назвать ее внешней программой от MS POS :( – alphaprolix

ответ

0

Я закончил с заменой своей библиотеки DLL на exe-файл без формы winform, который может принимать аргументы командной строки для репликации функциональных возможностей аргументов конструктора библиотеки классов. Я поставил следующие атрибуты в файле exe app.config, чтобы избежать ошибки сборки в смешанном режиме:

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
</startup> 
Смежные вопросы