Visual Studio

Projekt - Konfiguration

Projekt - Konfiguration

Multiplattform

Projektdatei ändern:

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFrameworks>net6.0;net472</TargetFrameworks>
        <LangVersion>10.0</LangVersion>
        <ImplicitUsings>false</ImplicitUsings>
        <Nullable>enable</Nullable>
    </PropertyGroup>

    <ItemGroup Condition="'$(TargetFramework)' == 'net48'">
        <Reference Include="System.Net.Http" />
    </ItemGroup>

Datei hinzufügen

- im Rootverzeichnis GloblaUsings.cs
global using System;
global using System.Net;
global using System.Collections.Generic;
global using System.IO;
global using System.Linq;



Installation

Installation

Reset

Als Administrator ausführen

devenv.exe /resetsettings

This command will reset Visual Studio to its default settings.

devenv.exe /resetuserdata

This command will reset Visual Studio's user-specific data, which includes settings, customizations, and extension configurations.

 

Please note that uninstalling Visual Studio 2022 Professional will remove the application and its associated components from your system. However, it may not remove certain user-specific settings or files. If you want to remove any residual files or settings, you can manually delete the following directories:

AssemblyVersion change

c#

\[assembly\: AssemblyVersion\(\"\d{1,}\.\d{1,}\.\d{1,}\.\d{1,}\"\)\]
[assembly: AssemblyVersion("2023.6.23.1015")]


\[assembly\: AssemblyFileVersion\(\"\d{1,}\.\d{1,}\.\d{1,}\.\d{1,}\"\)\]
[assembly: AssemblyFileVersion("2023.6.23.1015")]


Dieser Code muss vor dem Schließen des </project>Tags in der *.csprojDatei eingefügt werden

 

<!-- Change AssemblyInfo.cs AssemblyVersion with date/time and increment revision daily by one in Visual Studio 2022 -->
<Target Name="AssemblyVersion" BeforeTargets="CoreCompile" DependsOnTargets="PrepareForBuild">
    <PropertyGroup>
        <!-- Define Constants -->
        <AssemblyInfo>Properties\AssemblyInfo.cs</AssemblyInfo>
        <AssemblyInfoContent>$([System.IO.File]::ReadAllText($(AssemblyInfo)))</AssemblyInfoContent>
        <VersionRegex>(\[\s*assembly\s*:\s*AssemblyVersion\(\s*"(\d+)\.(\d+)\.(\d+)(\.)(\d+)("\)\s*\]))</VersionRegex>
        <BuildAndRevisionRegex>(\d+\.\d+")</BuildAndRevisionRegex>

        <!-- Parse Build and Revision from AssemblyInfo-->
        <AssemblyVersion>$([System.Text.RegularExpressions.Regex]::Match('$(AssemblyInfoContent)', '$(VersionRegex)'))</AssemblyVersion>
        <BuildAndRevision>$([System.Text.RegularExpressions.Regex]::Match('$(AssemblyVersion)', '$(BuildAndRevisionRegex)'))</BuildAndRevision>
        <BuildAndRevision>$(BuildAndRevision.Remove($(BuildAndRevision.LastIndexOf('"')), 1))</BuildAndRevision>
        
        <!-- Generate Build and Revision from AssemblyVersion -->
        <Build>$(BuildAndRevision.SubString(0, $(BuildAndRevision.LastIndexOf('.'))))</Build>
        <Revision>$(BuildAndRevision.SubString($([MSBuild]::Add($(BuildAndRevision.LastIndexOf('.')), 1))))</Revision>
        
        <!-- Increment Revision by one if Build equal Current Day otherwise start from one as new Day Build-->
        <Revision Condition ="$([System.DateTime]::Now.Day) == $(Build)">$([MSBuild]::Add($(Revision), 1))</Revision>
        <Revision Condition ="$([System.DateTime]::Now.Day) != $(Build)">1</Revision>

        <!-- New AssemblyVersion Block -->
        <AssemblyVersion>[assembly: AssemblyVersion("$([System.DateTime]::Now.ToString("yyyy.M.d.$(Revision)"))")]</AssemblyVersion>
    </PropertyGroup>

    <!-- Write New AssemblyVersion Block to AssemblyInfo.cs file -->
    <WriteLinesToFile File="$(AssemblyInfo)" Lines="$([System.Text.RegularExpressions.Regex]::Replace($(AssemblyInfoContent), $(VersionRegex), $(AssemblyVersion)))" Overwrite="true" />
</Target>