Как изменить версию программы visual studio

Как получить доступ к версии компилируемой программы на Visual C#.
Visual Studio C#: версия сборки приложения (Application Version Number) Печать

Добавил(а) microsin

  

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

[Как посмотреть и поменять версию программы во время разработки

Меню Проект -> Свойства… -> раздел Приложение -> кнопка «Сведения о сборке…» -> поле «Версия сборки».

VSC-sharp-app-serial

Эта информация хранится в файле PropertiesAssemblyInfo.cs, см. AssemblyVersion, поэтому версию можно просмотреть и поменять с помощью текстового редактора.

// Можно задать все значения или принять номер построения и номер редакции по умолчанию, 
// используя "*", как показано ниже:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Номер версии состоит из четырех цифр: major.minor.build.revision (главная.младшая.сборка.ревизия). По умолчанию версия установлена в значение 1.0.0.0. Можно сделать так, чтобы числа build и revision генерировались автоматически, для этого нужно поменять строку с AssemblyVersion на 1.0.*.

[assembly: AssemblyVersion("1.0.*")]

После того, как такое изменение сделано, третья цифра, цифра сборки (build), будет равна числу дней начиная с 1 января 2000 года по местному времени. Четвертая цифра ревизии (revision) будет установлена в количество секунд от полуночи по местному времени. Это очень удобно, поскольку версия будет автоматически увеличиваться каждый раз при перекомпилировании проекта. Если нужно контролировать эти цифры вручную (например, при публикации официального релиза), в должны их установить в нужное значение, например 1.4.7.6.

Общепринятая для .NET методика установки цифр версии — значения major и minor связаны со значительными изменениями в программе, а значения build и revision — с незначительными. То есть версии, у которых отличаются номера major и minor, считаются несовместимыми друг с другом, а версии, у которых различаются только build и/или revision — совместимыми.

[Как получить версию программы во время выполнения]

String strVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

C# logoС выходом C# 7, компания Microsoft изменила подход к выпуску новых версий языка: стали доступны минорные версии, которые понемногу расширяют его возможности. Использовать их или ждать выхода следующей мажорной версии – решать самим разработчикам. Поэтому по умолчанию поддержка промежуточных версий выключена.

Visual Studio 2019.3 (версия 16.3)

С 3 обновлением Visual Studio 2019 стала доступна 8 версия языка C#, которая требует поддержку со стороны платформы. Поэтому Visual Studio 2019 стала автоматически выставлять доступную версию языка в зависимости от выбранной в качестве цели платформы.

  • .NET Framework (все версии) – C# 7.3
  • .NET Standard 2.0 и предыдущие – C# 7.3
  • .NET Standard 2.1 – C# 8
  • .NET Core 2.x и предыдущие – C# 7.3
  • .NET Core 3.x – C# 8
  • .NET 5 и новее – C# 9

При этом выбор версии языка в диалоге Advanced Build Setting отключен и дополнен поясняющим сообщением:

C# version auto select

Единственный способ изменить версию языка – самостоятельно установить её в настройках проекта. Для этого необходимо вручную отредактировать соответствующий файл .csproj, добавив в него или изменить значение следующего свойства:

<PropertyGroup>
    <LangVersion> версия языка </LangVersion>
</PropertyGroup>

Расположение этого свойства зависит файла проектка, который, в свою очередь, зависит от платформы на которую нацелен проект. Рассмотрим на примере установки 9 версии языка:

  • .NET Core / .NET Standard / .NET 5 и новее
<Project Sdk="Microsoft.NET.Sdk">
 
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <LangVersion>9.0</LangVersion>
  </PropertyGroup>
  
</Project>
  • .NET 4.8 и старше
<?xml version="1.0" encoding="utf-8"?>
  ...
  <PropertyGroup>
    ...
    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
    <LangVersion>9.0</LangVersion>
    ...
  </PropertyGroup>
  ...
  <Import Project="$(MSBuildToolsPath)Microsoft.CSharp.targets" />
</Project>

В качестве номера версии можно использовать следующие значения:

  • номер необходимой версии языка в формате Major.Minor. Например: 9.0  – настраивает проект на использование указанной версии языка.
  • default – разрешает использовать последнюю доступную для платформы проекта мажорную версию.
  • latest – позволит использовать все новые минорные и мажорные версии, которые станут доступны для платформы проекта автоматически по мере их выхода.

Что лучше выбрать? То что больше подходит каждому разработчику или команде в зависимости от предпочтений и условий работы.

Обратите внимание, что Visual Studio создает свой вариант свойства для каждой конфигурации в.NET Framework проектах. Если оно уже было когда-то изменено через интерфейс Visual Studio, то в файле проекта будут несколько записей вида:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <LangVersion>7.0</LangVersion>
</PropertyGroup>

Visual Studio 2019 до 3 обновления и Visual Studio 2017

Для использования минорных версий языка c Visual Studio 2017 необходимо обновить ее до версии 15.3 (Update 3) или выше. После этого появится возможность установить какая версия языка будет использоваться в проекте.

Необходимо отметить, что данная настройка находится на уровне проектов. Поэтому если в решении (solution) больше одного проекта, то каждый из них настраивается индивидуально. При этом решение может содержать проекты с различными настройками версии языка.

Свойства проекта

Чтобы открыть диалог с настройкой доступных версий, необходимо в свойствах проекта на закладке “Build” нажать на кнопку «Advanced…».

Project properties

Файл проекта .csproj

Аналогично описанию для Visual Studio 2019.3.

Код на новой версии языка

Последний вариант – просто написать код, который использует возможности новой версии. При этом Visual Studio сама предложит установить эту версию или вариант latest в качестве версии языка для проекта.

Visual Studio 2017 C# version selector

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

Для того чтобы посмотреть и поменять версию сборки программы в процессе ее разработки, можно пойти двумя путями:

  1. в главном меню выбрать Проект -> Свойства:проекта… -> Приложение -> кнопка «Сведения о сборке…» -> поле «Версия сборки».

  2. щелкнув правой кнопкой мыши по проекту в окне Обозреватель решений, в контекстном меню выбрать Свойства:проекта… -> Приложение -> кнопка «Сведения о сборке…» -> поле «Версия сборки».

Будет отображено окно, содержащее общие сведения о текущем проекте.

Скриншот ниже.

Сведения о сборке

Информация о версии хранится в файлеAssemblyInfo.cs, который размещается в папке Properties текущего проекта и может выглядеть следующим образом:

1
2
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]


Номер версии состоит из четырех цифр: major.minor.build.revision (главная.младшая.сборка.ревизия). По умолчанию версия установлена в значение 1.0.0.0. При этом можно сделать так, чтобы числа build и revision генерировались автоматически, для этого нужно поменять строку с AssemblyVersion на 1.0.*. Или как это сделано у меня:

1
[assembly: AssemblyVersion("0.2.*")]

После того, как такое изменение сделано, третья цифра (build), будет равна числу дней начиная с 1 января 2000 года по местному времени. Четвертая цифра ревизии или редакции (revision) будет установлена в количество секунд от полуночи по местному времени. Это очень удобно, поскольку версия будет автоматически увеличиваться каждый раз при перекомпилировании проекта. Если нужно контролировать эти цифры вручную (например, при публикации официального релиза), то необходимо установить нужное значение вручную, например 1.4.7.6.

Общепринятая для .NET методика установки цифр версии — значения major и minor связаны со значительными изменениями в программе, а значения build и revision — с незначительными. То есть версии, у которых отличаются номера major и minor, считаются несовместимыми друг с другом, а версии, у которых различаются только build и/или revision — совместимыми.

Еще одна штатная функция, имеющая непосредственное отношение к изменению версии — ClickOnce, которая настраивается на странице публикации в конструкторе проектов:

Проект -> Свойства:проекта… -> Публикация.

При каждой публицаии приложения будет происходить инкрементное увеличение четвертой цифры номера версии, за которое отвечает установленная галочка. Скриншот ниже.

Публикация

Для получения версии сборки во время выполнения — подключаем модули:

1
2
using System.Deployment.Application;
using System.Reflection;

Создаем следующий метод:

1
2
3
4
5
6
7
8
9
public string CurrentVersion 
{
	get
	{
        return ApplicationDeployment.IsNetworkDeployed
              ? ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString()
              : Assembly.GetExecutingAssembly().GetName().Version.ToString();
	}
}

Получаем версию сборки, например привязав событие к кнопке:

1
2
3
4
private void button_Click(object sender, EventArgs e)
{
  textBox.AppendText(CurrentVersion);
}

Общие сведения о настройке целевой платформы

В Visual Studio можно указать версию платформы .NET, на которую будет ориентироваться проект. Нацеливание на платформу помогает гарантировать, что приложение использует только те функциональные возможности, которые доступны в указанной версии платформы. Для запуска приложений .NET Framework на другом компьютере версия платформы для такого приложения должна быть совместима с версией платформы, установленной на компьютере.

Решение Visual Studio может содержать проекты, предназначенные для различных версий .NET. Обратите внимание, что вы можете выполнить сборку только для одной версии .NET с помощью условий ссылок для одной сборки или рекурсивно создавать разные двоичные файлы для каждой версии. Дополнительные сведения о требуемых версиях .NET Framework см. в разделе Целевые платформы.

Вы также можете нацеливать приложения на различные платформы. Дополнительные сведения см. в разделе Настройка для различных версий.

Функции нацеливания на платформу

Среди прочего, доступны следующие возможности нацеливания на платформу:

При открытии проекта, который ориентирован на более раннюю версию платформы, Visual Studio может автоматически обновить его или оставить имеющуюся настройку.

При создании проекта .NET Framework можно указать версию платформы .NET Framework, на которую требуется ориентироваться.

В каждом из нескольких проектов в одном решении можно ориентироваться на разные версии .NET.

Можно изменить версию .NET, на которую ориентирован существующий проект.

При изменении версии платформы .NET, на которую сориентирован проект, Visual Studio вносит все необходимые изменения в ссылки и файлы конфигурации.

При работе над проектом, ориентированным на более раннюю версию платформы, Visual Studio динамически изменяет среду разработки, как показано ниже:

Фильтрует элементы в диалоговых окнах Добавить новый элемент, Добавить новую ссылку и Добавление ссылки на службу, чтобы пропустить варианты, которые недоступны в целевой версии.

Фильтрует пользовательские элементы управления на панели элементов, удаляя те, что недоступны в целевой версии, и показывая только наиболее актуальные элементы управления, если их доступно несколько.

Фильтрует IntelliSense, чтобы пропустить языковые функции, которые недоступны в целевой версии.

Фильтрует свойства в окне Свойства, чтобы пропустить те, которые недоступны в целевой версии.

Фильтрует пункты меню, чтобы пропустить те, которые недоступны в целевой версии.

Для сборок система использует версию и параметры компилятора, которые подходят для целевой версии.

  • Нацеливание на платформу не гарантирует правильную работу приложения. Нужно протестировать приложение, чтобы убедиться в том, что оно работает с целевой версией.
  • Ориентироваться на версии платформы, предшествующие .NET Framework 2.0, запрещено.

Выбор целевой версии платформы

При создании проекта .NET Framework выберите целевую версию .NET Framework после выбора шаблона проекта. Список доступных платформ включает их установленные версии, соответствующие типу выбранного шаблона. Для шаблонов проектов, отличных от .NET Framework, например шаблонов .NET Core, раскрывающийся список Платформа не отображается.

Framework dropdown in VS 2019

Если вы решите создать проект .NET Framework, то увидите интерфейс, похожий на тот, которой показан на снимке экрана:

Screenshot of the Framework drop-down list in Visual Studio 2022.

Если вы решите создать проект .NET, то увидите интерфейс, похожий на тот, которой показан на двух следующих снимках экрана.

На первом экране вы увидите диалоговое окно Настройка нового проекта.

Screenshot of the

На втором экране появится диалоговое окно Дополнительные параметры.

Screenshot of the

Изменение требуемой версии .NET Framework

Для существующего проекта Visual Basic, C# или F# вы можете изменить целевую версию .NET в диалоговом окне свойств проекта. Сведения об изменении целевой версии для проектов C++ см. в статье How to: Modify the Target Framework and Platform Toolset (Практическое руководство. Изменение требуемой версии .NET Framework и набора средств платформы).

В обозревателе решений правой кнопкой мыши откройте контекстное меню проекта, в который необходимо внести изменения, и выберите Свойства.

В левом столбце окна Свойства перейдите на вкладку Приложение.

Project properties Application tab

После создания приложения UWP невозможно изменить целевую версию Windows или .NET.

В списке Целевая рабочая среда выберите требуемую версию.

В открывшемся диалоговом окне проверки нажмите кнопку Да.

Проект будет выгружен. При его перезагрузке он будет ориентирован на выбранную версию .NET.

В обозревателе решений правой кнопкой мыши откройте контекстное меню проекта, в который необходимо внести изменения, и выберите Свойства.

В левом столбце окна Свойства перейдите на вкладку Приложение.

После создания приложения UWP невозможно изменить целевую версию Windows или .NET.

В списке Целевая рабочая среда выберите требуемую версию.

Для проекта .NET Framework будет показано диалоговое окно, похожее на то, которое изображено на снимке экрана:

Screenshot of the Project Properties dialog with .NET Framework options highlighted.

Для проекта .NET будет показано диалоговое окно, похожее на то, которое изображено на снимке экрана:

Screenshot of the General tab in the Project Properties dialog box, with the

Если появится диалоговое окно проверки, нажмите кнопку Да.

Проект будет выгружен. При его перезагрузке он будет ориентирован на выбранную версию .NET.

Если код содержит ссылки на другую версию .NET, отличную от целевой, при компиляции и запуске кода могут появиться сообщения об ошибках. Чтобы устранить эти ошибки, измените ссылки. См. раздел Устранение неполадок, связанных с настройкой для определенных версий платформы .NET.

В зависимости от целевой платформы ее можно представить в файле проекта следующим образом:

  • Для приложения .NET Core: <TargetFramework>netcoreapp2.1</TargetFramework>
  • Для приложения .NET Standard: <TargetFramework>netstandard2.0</TargetFramework>
  • Для приложения .NET Framework: <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>

Разрешение системных ссылок и пользовательских ссылок на сборки

Чтобы нацелиться на определенную версию .NET, нужно сначала установить подходящие ссылки на сборки. Вы можете скачать пакеты разработчика для разных версий .NET на странице скачиваемых материалов .NET.

Для проектов .NET Framework диалоговое окно Добавить ссылку позволяет отключить системные сборки, не относящиеся к целевой версии платформы .NET Framework, чтобы их невозможно было добавить в проект случайно. (Системные сборки — это файлы DLL, включенные в версию платформы .NET Framework.) Ссылки, относящиеся к версии платформы, которая старше целевой версии, не будут разрешены, а зависящие от них элементы управления невозможно будет добавить. Если вы хотите активировать такую ссылку, измените целевую версию платформы .NET Framework для проекта на ту, которая содержит эту ссылку.

Дополнительные сведения о ссылках на сборки см. в разделе Разрешение сборок во время разработки.

Visual Studio 2019 — измените целевую платформу .NET на 4.8

Я не могу изменить .NET-версию своего проекта. Я установил .NET 4.8 через установщик Visual Studio и вручную загрузил его отдельно. Ни одна из этих работ.

Я действительно пытался изменить структуру в файле проекта .csproj

и это тоже не работает . У меня заканчиваются решения, и я действительно не знаю, что делать дальше.

целевая рамка рис.

Если вы пытаетесь преобразовать проект «net5.0-windows» в стиле SDK в проект WinForms «net48», вам, вероятно, придется сделать больше, чем просто изменить TargetFramework .

Во-первых, Project узел в начале файла «.csproj» должен выглядеть так:

(Цели «net5.0» это не нужно .WindowsDesktop .)

Во-вторых, вам нужно убедиться, что <UseWindowsForms>true</UseWindowsForms> это часть main PropertyGroup .

Даже после этих изменений у вас все равно будут возникать всевозможные проблемы, если в вашем проекте используются типы, недоступные в .net 4.8.

Практическое руководство. настройку целевых платформ в проектах

Visual Studio позволяет настраивать сборки приложения для различных платформ, включая 64-разрядные платформы. Дополнительные сведения о поддержке 64-разрядных платформ в Visual Studio см. в статье 64-разрядные приложения.

Visual Studio 2022 выполняется как 64-разрядное приложение. Она совершенно отделена от платформ, которые можно выбрать для проектов в Visual Studio. Вы можете использовать любую версию Visual Studio, предназначенную для 32-разрядных и 64-разрядных платформ.

Visual Studio выполняется как 32-разрядное приложение. Она совершенно отделена от платформ, которые можно выбрать для проектов в Visual Studio. Вы можете использовать любую версию Visual Studio, предназначенную для 32-разрядных и 64-разрядных платформ.

Нацеливание на платформы с помощью диспетчера конфигураций

Диспетчер конфигураций позволяет быстро добавить новую платформу для нацеливания проекта. Если выбрать одну из платформ, входящих в Visual Studio, свойства проекта изменяются для сборки проекта в соответствии с выбранной платформой.

Настройка проекта для 64-разрядной платформы

В строке меню последовательно выберите пункты Сборка>Диспетчер конфигураций.

В списке Активная платформа решения выберите 64-разрядную платформу для нацеливания решения, а затем нажмите кнопку Закрыть.

Если нужная платформа не отображается в списке Активная платформа решения, выберите Создать.

Откроется диалоговое окно Создание платформы решения.

В списке Введите или выберите новую платформу выберите x64.

Если вы присваиваете конфигурации новое имя, может потребоваться изменить параметры в конструкторе проектов для нацеливания на соответствующую платформу.

Если требуется скопировать параметры из текущий конфигурации платформы, выберите ее и нажмите кнопку ОК.

Обновляются свойства для всех проектов в решении, нацеленных на 64-разрядную платформу, и следующая сборка проекта будет оптимизирована под 64-разрядные платформы.

Имя платформы Win32 используется для проектов C++ и соответствует x86. Visual Studio поддерживает платформы уровня проекта и платформы уровня решения. При этом платформы проекта основаны на системах проектов для разных языков. Проекты C++ используют Win32 и x64, а платформы решения — x86 и x64. Когда вы выбираете x86 в качестве конфигурации решения, Visual Studio выбирает для проектов C++ платформу Win32. Чтобы просмотреть параметры платформы уровня проекта и платформы уровня решения, откройте Configuration Manager и обратите внимание на два параметра платформы. Платформа уровня решения отображается в раскрывающемся списке Активная платформа решения, а платформа уровня проекта показана в таблице для каждого проекта. Screenshot showing solution platform and project platform

Нацеливание на платформы в конструкторе проектов

Конструктор проектов также предоставляет способ нацеливания проекта на различные платформы. Если выбор одной из платформ в списке диалогового окна Создание платформы решения не подходит для вашего решения, можно создать пользовательское имя конфигурации и изменить параметры в конструкторе проектов для нацеливания на соответствующую платформу.

Способ выполнения этой задачи зависит от используемого языка программирования. Дополнительные сведения см. на следующих страницах:

Для проектов Visual Basic см. раздел /platform (Visual Basic).

Для проектов C++/CLI см. статью /clr (компиляция CLR).

Изменение файла проекта вручную

Иногда необходимо вручную изменить файл проекта, чтобы выполнить ряд пользовательских настроек. Это бывает нужно сделать, к примеру, при наличии условий, которые не могут быть указаны в интегрированной среде разработки (ссылка, имеющая разный вид для двух разных платформ, как показано в следующем примере).

Пример. Ссылки на сборки x86 и x64 и библиотеки DLL

У вас может быть сборка .NET или библиотека DLL с версиями x86 и x64. Чтобы настроить проект для использования этих ссылок, сначала добавьте ссылку, а затем откройте файл проекта и измените его, чтобы добавить ItemGroup с условием, которое ссылается как на конфигурацию, так и на целевую платформу. Например, предположим, что вы ссылаетесь на двоичный файл ClassLibrary1, и существуют разные пути для конфигураций отладки и выпуска, а также версии x86 и x64. Используйте четыре элемента ItemGroup со всеми сочетаниями параметров, как показано далее:

Дополнительные сведения о файле проекта см. в статье Справочные сведения о схеме файлов проектов MSBuild.

Понравилась статья? Поделить с друзьями:
  • Как изменить версию приложения android studio
  • Как изменить версию пдф
  • Как изменить версию пайтон
  • Как изменить версию офиса
  • Как изменить версию нод 32