2017-02-06 16 views
-1

Мы создали приложение, построенное с помощью .NET 3.5, и когда мы запустили его на компьютере, на котором установлен .NET 4.5 , WPF формирует изменения поведения в браузере IE, и это вызывает некоторые проблемы, когда я удаляю .NET 4 с машины и все еще есть версия .net 3.5, проблема решена. как я могу установить .NET 4 или более поздней версии на моем компьютере и заставить работать приложение, как когда он установил только .net3.5. Я добавил этот раздел для моего приложения конфигурации и это не решает мою проблемуРаботает приложение, построенное с .net3.5 на компьютере. Установлена ​​версия 3.5 и 4.0.

<startup> 
     <supportedRuntime version="v2.0.50727"/> 
     <supportedRuntime version="v4.0"/> 
    </startup> 

Я обнаружил, что, хотя построили мое приложение с .net3.5, работает в браузере presentationhost нагрузок .net4 узлов в режиме исполнения. но я не знаю, почему! и как заставить его загружать сборки .net3.5.

раздел зависимостей в манифесте приложения является

 <dependency> 
        <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true"> 
        <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50727.0" /> 
        </dependentAssembly> 
      </dependency> 

но если клиентская система имеет .net4 сборки, установленные на, .net4 assemplies будет загружен во время выполнения!

+0

Нижняя версия фреймворка не работает на более ранней версии фрейма –

+0

@parvezalamkhan Я изменил файлы манифеста вручную, и это сработало :) мое приложение работало с .net3.5 на клиентских машинах, на которых были установлены более высокие версии .net-фреймворков. – Rahfa

ответ

0

Не мог ли кто-нибудь помочь мне решить проблему?

наши клиентские машины установили оба .net3.5 и 4 на, и они должны иметь .net4, потому что другие приложения на своих машинах нуждаются в .net4, проблема в том, что это наше приложение, которое скомпилировано с .net3.5 и развернутый с помощью clickonce, должен быть нацелен только на .net3.5 not .net 4!

насколько я знаю Clickonce развернутые приложения xbap, размещенные в IE, используют presentationHost.exe для размещения и представленияHost загружает правильные версии сборки .net, я не знаю, почему presentationHost загружает библиотеки clr4, пока я скомпилировал мое приложение с .net3.5 и явно я упомянул во всех файлах конфигурации и демонстрирует, что мое приложение зависит от clr2!

следующие настройки хорошо работает в настольной версии моего приложения:

<startup useLegacyV2RuntimeActivationPolicy="true"> 
<supportedRuntime version="2.0.50727"/> 
</startup> 

и настольные приложения нагрузки .net3.5 библиотеки правильно, хотя .net4 (выше версия) установлена ​​слишком. но с включенными в браузере клиентами этот параметр конфигурации и другие параметры, которые я добавил в файлах манифеста, не препятствуют загрузке клиентской версии более высокой версии .NET framework и сборки .net4, будут загружены в домен приложения, а мое приложение должно иметь только .net3. 5 библиотек загружаются не с 4 или более версиями!

 Смежные вопросы

  • Нет связанных вопросов^_^