Цель .NET Framework 2.0 - создать .NET 3.5 exe [duplicate]

Данные считываются как строки. В matplotlib 2.0 они автоматически преобразуются в числа с плавающей точкой, так что они могут быть построены.

В matplotlib 2.1 введены категориальные графики . Это теперь позволяет что-то вроде

plt.plot(["apple", "banana", "cherry"], [2,1,3])

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

В этом случае вы хотели бы сделать это преобразование, например

values = [None if v is '' else float(v) for v in values]

14
задан Picrofo Software 19 November 2012 в 22:06
поделиться

5 ответов

Из моего тестирования это означало бы, что я мог бы запустить свое приложение 2.0 C # на .NET 4.0 с платформой .NET 4.0 (сборка 4.0 / сборник), что противоречит тем, что были упомянуты в статьях.

Вы можете запускать ваше приложение на .NET 4 с помощью сборок .NET 4. Однако всегда существует вероятность незначительного изменения поведения во время выполнения, поскольку вы не будете использовать ту же среду исполнения и фреймворк, которые вы использовали для разработки. Я подозреваю, что статья пытается предположить, что вы не получите то же самое поведение, просто установив 4.0, хотя, как вы видели, он должен работать.

Выполнение этого, вероятно, хорошо, хотя я рекомендовал бы провести тщательное тестирование вашего приложения, если это будет стандартный вариант развертывания.

5
ответ дан Reed Copsey 25 August 2018 в 03:50
поделиться

От: microsoft docs :

вы можете выбрать любой файл файла App.config.

0
ответ дан Gour Gopal 25 August 2018 в 03:50
поделиться

Просто немного более кратким. В App.config вы показываете поддержку CLR. Из .Net v2 и существует только 2 версия CLR . Таким образом, вы получите поддержку .Net v2 и дальше. Обязательно включите файл exe.config, который построен в вашем проекте, иначе вы, вероятно, все равно увидите всплывающее окно с просьбой установить .Net.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

Для поддержки .Net v2 - v3.5 use:

<supportedRuntime version="v2.0.50727"/>

Для поддержки .Net v4.0 до 4.6 используйте:

<supportedRuntime version="v4.0"/>

Более подробную информацию можно найти для Настройка приложения для поддержки .NET Framework

1
ответ дан MJonas 25 August 2018 в 03:50
поделиться

И я цитирую:

«.NET Framework 4 обратно совместим с приложениями, которые были созданы с .NET Framework версий 1.1, 2.0, 3.0 и 3.5. Другими словами, приложения и компоненты, созданные с предыдущими версиями .NET Framework, будут работать с .NET Framework 4. «

Взято из Совместимость версий в .NET Framework

У вас есть правильная идея с файлом App.config, но вы действительно ограничиваете себя одной строкой. Могу ли я предложить более либеральное использование поддерживаемых строк Runtime?

Например:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v2.0.50727"/>
    <!-- 
    <supportedRuntime version="v3.5"/>  "The .NET Framework version 3.0 and 3.5 use version 2.0.50727 of the CLR."  
    -->
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.1,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.1" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.2,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.2" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3,Profile=Client" />
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0.3" /> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

Почему supportedRuntime version="v3.5" закомментирован? Помните, что эта конфигурация определяет, какие версии Common Language Runtime (CLR) совместимы с вашим приложением. Нет версии 3.0 или 3.5 для CLR. См. Версии и зависимости .NET Framework

8
ответ дан Okuma.Scott 25 August 2018 в 03:50
поделиться

Просто установка web.config на поддерживаемую версию Runtime = "v4.0.30319" / не будет достаточной.

Вам нужно действительно открыть свой проект в Visual Studio, изменить его целевую структуру (свойства -> build) до 4.0 - и THEN повторно настройте построенное решение для ваших клиентов 4.0. Несколько системных сборок различаются между 2.0 и 4.0 (system.web и т. Д.) - хотя, как было предложено в предыдущем ответе, была предоставлена ​​обратная совместимость.

Единственный способ последовательно предоставлять вашим клиентам действительную версию, совместимую с «4.0», заключается в ее компиляции против среды выполнения 4.0. Это приведет к обновлению любых сторонних библиотек с открытым исходным кодом до их версий 4.0.

-3
ответ дан user2736158 25 August 2018 в 03:50
поделиться