2017-01-04 5 views
0

У меня есть программа vb.net, в которой я установил целевую структуру для точки net net 4, но когда я запускаю ее на машине без точки net 3.5 (машина Windows 8.1 с установленной точкой net 4.5.2), она просит установить dot net 3.5, когда мой код подключится к процессу для запуска командного файла.dot net 4 vb.net программа запрашивает dot net 3.5 для установки

Я попытался перетащить его, чтобы использовать dot net 4 full, но это не помогло, и я использовал dotPeek для проверки рамки target и IL Disassembler, и они оба показывают только точку net 4.

Любые идеи?

+0

Вы проверили расширенные параметры компиляции? [см. здесь] (https://msdn.microsoft.com/en-us/library/07bysfz2.aspx) – OSKM

+4

Посмотрите на свои настройки зависимостей. Вы выбрали Framework 3.5. –

+1

[4.0 не поддерживается] (https://blogs.msdn.microsoft.com/dotnet/2015/12/09/support-ending-for-the-net-framework-4-4-5-and- 4-5-1 /), вам следует рассмотреть возможность перехода к более поздней версии фреймворка, например 4.6.1. –

ответ

0

Windows 8 не включает .NET 3.5 (включая .NET 2.0 и 3.0) по умолчанию. Но если пользователь обновляется с Windows 7 до Windows 8, платформа .NET Framework 3.5 полностью включена. Пользователь может убедиться, что эта функция включена, выполнив проверку в программе и функциях.

Это является список шагов, которые пользователь может сделать, чтобы проверить это:

How to enable .NET Framework 3.5

Если ваш компьютер не имеет .NET 3.5 установлен не CLR, чтобы начать для вашего приложения. .NET 4.0 не используется автоматически для вашего приложения из-за потенциальных проблем совместимости. Сначала проверьте, что ваше приложение работает с .NET 4.0, а затем добавьте этот раздел в свой app.config, чтобы сообщить CLR, что он предпочитает использовать .NET 4.0, если он присутствует.

<configuration> 
    <startup> 
     <supportedRuntime version="v4.0.30319"/> 
    </startup> 
</configuration> 

Пожалуйста, проверьте это answer

+1

. Это не касается того, почему приложение 4.x запрашивает 3.5? –

+0

ok Я отредактировал свой ответ –

0

Вполне возможно, что одна из библиотек, участвующих имеет зависимость от 3.5. Убедитесь, что все сборки используют ту же версию .Net.

0

Я нашел проблему, пакетный файл с именем installutil.exe, и именно это вызвало запрос для dot net framework 3.5.

Как только я скопировал файл installutil.exe из папки c: \ windows \ microsoft.net \ framework \ v4.xxxxxxx, программа тогда поступила сама.

Спасибо за все быстрые ответы, хотя :-)