Sprawdzenie wersji clr.

0

Jak sprawdzić jakiej wersja clr była używana podczas kompilacji programu?
RuntimeEnvironment.GetSystemVersion()
coś podobnego do tego tylko że to podaj podczas uruchomienia a mi trzeba podczas kompilacji.

0
eloziomm napisał(a)

Jak sprawdzić jakiej wersja clr była używana podczas kompilacji programu?
RuntimeEnvironment.GetSystemVersion()
coś podobnego do tego tylko że to podaj podczas uruchomienia a mi trzeba podczas kompilacji.

Podczas kompilacji chcesz wiedzieć jaki CLR był używany podczas kompilacji? Czyli prościej: chcesz wiedzieć na jaki CLR właśnie kompilujsz? Proponuję zajrzeć w opcje kompilatora, którego używasz...

0

podczas kompilacji, to takie rzeczy to tylko na poziomie msbuild lub minimalnie wyzej - vcproj.

przykladowy wycinek vcproj'a:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
// ta sekcja jest przetwarzana bezwarunkowo
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
// w tej bezwarunkowej sekcji powyzsza wartosc jest dla Ciebie dosc interesujaca
...
  </PropertyGroup>
// o, spojrz - ta sekcja jest przetwarzana warunkowo
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
...
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="mscorlib" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
...
  </ItemGroup>
  <ItemGroup>
    <Compile Include="aaaa.cs" />
    <Compile Include="bbbb.cs" />
    <Compile Include="cccc.cs" />
...
  </ItemGroup>
// o, zobacz - tutaj tez warunkowo, akurat rozroznia miedzy frameworkami
  <Import Condition="'$(TargetFrameworkVersion)' == 'v1.0'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.v1.targets" />
  <Import Condition="'$(TargetFrameworkVersion)' == 'v2.0'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
  <Import Condition="'$(TargetFrameworkVersion)' == 'v3.5'" Project="$(MSBuildBinPath)\Microsoft.CompactFramework.CSharp.targets" />
...
</Project>

1 użytkowników online, w tym zalogowanych: 0, gości: 1