2016-08-01 3 views
0

Мое решение содержит 2 проекта.Смешанный режим C++/CLI System.IO.FileLoadException

Первый проект - это приложение C++ Win32, а второй проект - библиотека C#, которая управляет двумя другими библиотеками C#, которые не были созданы мной. Идея этого заключалась в создании библиотеки C#, которая обрабатывает эти другие 2 библиотеки C#.

Теперь эти 2 библиотеки C# были созданы для .NET 3.5, и я также настроил свой проект C# для .NET 3.5.

Я создал C++ Wrapper, который работает достаточно хорошо. Проблема возникает при попытке создать объект класса, который моя библиотека C# получает из одной из двух других библиотек.

Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information. 

Теперь я просматривал десятки сообщений, на которых была опубликована эта проблема. Никто из них не решил мою проблему. Я пробовал несколько разных конфигурационных файлов для моего исполняемого файла (мой проект на C++), а также для моей библиотеки C#.

Я попытался

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    <supportedRuntime version="v2.0.50727"></supportedRuntime> 
    </startup> 

И еще несколько из них похожи.

+0

Попробуйте использовать ту же версию .NET везде ... – Phil1970

+0

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

+0

@ Phil1970 Я использую .NET 3.5 для всего, что связано C# – Sean

ответ

0

Кажется, что в вашем проекте есть несколько библиотек v2.0.50727. Попробуйте это:

редактировать файл App.config и добавить:

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