2015-09-07 6 views
1

Я использую маленький-анкету, она отлично работает на окнах 8.1, после того, как обновление до Windows 10 после применения выполнения я получаю Необработанное исключениесмешанный режим сборки построен, после обновления до окна 10

System.IO.FileLoadException: 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. 

Могу ли я сделать что-то с ним, без повторной компиляции? У меня больше нет исходного кода. Может быть, отредактируйте MSIL, старое время выполнения SetUp ... ??

Спасибо за помощь

+0

Хм, нет , который не изменился. Вам нужно создать [файл .config] (http://stackoverflow.com/a/5883258/17034). –

ответ

1

Вам не нужно перекомпилировать приложение. Должно быть достаточно добавить yourapp.exe.config в ту же папку с:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" /> 
    </startup> 
</configuration> 

или добавить к существующей конфигурации.

, если это не работает, и вы не имеете исходный код, вы можете декомпилировать приложение к IL коде

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools>ildasm.exe D:\Temp\yourapp.exe /output:D:\Temp\yourapp\yourapp.il 

ремонтного выполнения версии в IL, а затем скомпилировать его

C:\Windows\Microsoft.NET\Framework\v4.0.30319>ilasm.exe D:\Temp\yourapp\yourapp.il /output:D:\Temp\yourappPatch.exe 
0

Основная проблема заключается в Windows, 8.x еще принимает совместимость .Net Framework 2.0 (для ASP целей, я думаю), но для Windows 10 отказывается от него.

Я думаю, у вас не будет никакого решения, если вы НЕ ДОЛЖНЫ перекомпилировать приложение, добавляя справочную библиотеку и настраивая ее для размещения в папке вашего приложения.