170

今日、私は自分のマシンに .NET Framework 4.5 をインストールしました。これは、Visual Studio 2010 で問題を引き起こさないマイナーな更新であるため、Visual Studio 2010 から使用できることを期待しています。残念ながら、特定の 4.0 を手動で削除することさえできません。対応する 4.5 アセンブリを追加すると、元の 4.0 アセンブリがプロジェクトで参照されたままになります。

Visual Studio 2010 からバージョン 4.5 をターゲットにすることは可能ですか。リボンを使いたいのですが…

4

5 に答える 5

196

Visual Studio 2010 より前の Visual Studio の各バージョンは、特定の .NET フレームワークに関連付けられています。(VS2008 は .NET 3.5、VS2005 は .NET 2.0、VS2003 は .NET1.1) Visual Studio 2010 以降では、以前のフレームワーク バージョンを対象にすることができますが、将来のリリースには使用できません。.NET 4.5 を利用するには、Visual Studio 2012 を使用する必要があります。

于 2012-09-12T14:33:47.907 に答える
69

これが役立つと考えることができるかなり限られたシナリオがありますが、VS2012 などを購入するための資金を得ることができないと仮定しましょう。その場合で、Windows 7 以降と VS 2010 を使用している場合は、私がまとめた次のハックを使用できる可能性があります。

  1. プロジェクトファイルをバックアップしてください!!!

  2. .NET 4.5 SDK を含むWindows 8 SDKをダウンロードしてインストールします。

  3. VS2010 でプロジェクトを開きます。

  4. Compile_4_5_CSharp.targetsプロジェクトに、次の内容のテキスト ファイルを作成します。(または、ここからダウンロードしてください- ファイル名から「.txt」拡張子を必ず削除してください):

    <Project DefaultTargets="Build"
     xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    
        <!-- Change the target framework to 4.5 if using the ".NET 4.5" configuration -->
        <PropertyGroup Condition=" '$(Platform)' == '.NET 4.5' ">
            <DefineConstants Condition="'$(DefineConstants)'==''">
                TARGETTING_FX_4_5
            </DefineConstants>
            <DefineConstants Condition="'$(DefineConstants)'!='' and '$(DefineConstants)'!='TARGETTING_FX_4_5'">
                $(DefineConstants);TARGETTING_FX_4_5
            </DefineConstants>
            <PlatformTarget Condition="'$(PlatformTarget)'!=''"/>
            <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
        </PropertyGroup>
    
        <!-- Import the standard C# targets -->
        <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    
        <!-- Add .NET 4.5 as an available platform -->
        <PropertyGroup>
           <AvailablePlatforms>$(AvailablePlatforms),.NET 4.5</AvailablePlatforms>
        </PropertyGroup>
    </Project>
    
  5. プロジェクトをアンロードします (右クリック -> アンロード)。

  6. プロジェクト ファイルを編集します (右クリック -> [*.csproj を編集])。

  7. プロジェクト ファイルに次の変更を加えます。

    を。Microsoft.CSharp.targetsデフォルトを手順 4 で作成したターゲット ファイルに置き換えます。

    <!-- Old Import Entry -->
    <!-- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> -->
    
    <!-- New Import Entry -->
    <Import Project="Compile_4_5_CSharp.targets" />
    

    b. デフォルトのプラットフォームを次のように変更します.NET 4.5

    <!-- Old default platform entry -->
    <!-- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> -->
    
    <!-- New default platform entry -->
    <Platform Condition=" '$(Platform)' == '' ">.NET 4.5</Platform>
    

    c. AnyCPUプロジェクトのプロパティで指定されているように、他のフレームワークをターゲットにできるようにプラットフォームを追加します。<ItemGroup>これは、ファイルの最初のタグの直前に追加する必要があります

    <PropertyGroup Condition="'$(Platform)' == 'AnyCPU'">
        <PlatformTarget>AnyCPU</PlatformTarget>
    </PropertyGroup>
    
    .
    .
    .
    <ItemGroup>
    .
    .
    .
    
  8. 変更を保存してファイルを閉じ*.csprojます。

  9. プロジェクトをリロードします (右クリック -> プロジェクトのリロード)。

  10. 構成マネージャー (ビルド -> 構成マネージャー) で、プロジェクトに「.NET 4.5」プラットフォームが選択されていることを確認します。

  11. 引き続き構成マネージャーで、".NET 4.5" 用の新しいソリューション プラットフォームを作成し ("任意の CPU" をベースにすることができます)、ソリューションに ".NET 4.5" が選択されていることを確認します。

  12. プロジェクトをビルドしてエラーをチェックします。

  13. ビルドが完了したと仮定すると、4.5 固有のクラスへの参照をソース コードに追加することで、実際に 4.5 をターゲットにしていることを確認できます。

    using System;
    using System.Text;
    
    namespace testing
    {
        using net45check = System.Reflection.ReflectionContext;
    }
    
  14. 「.NET 4.5」プラットフォームを使用してコンパイルすると、ビルドは成功するはずです。「任意の CPU」プラットフォームでコンパイルすると、コンパイラ エラーが発生するはずです。

    Error 6: The type or namespace name 'ReflectionContext' does not exist in
    the namespace 'System.Reflection' (are you missing an assembly reference?)
    
于 2012-11-05T20:43:10.970 に答える
8

参考までに、VS2010 でインストーラー パッケージを作成する場合、残念ながら .NET 4 のみを対象としています。これを回避するには、起動条件として NET 4.5 を追加する必要があります。

インストーラーの起動条件 (右クリック、表示、起動条件) に以下を追加します。

「検索対象マシン」で右クリックし、「レジストリ検索の追加」を選択します。

Property: REGISTRYVALUE1
RegKey: Software\Microsoft\NET Framework Setup\NDP\v4\Full
Root: vsdrrHKLM
Value: Release

新しい「起動条件」を追加:

Condition: REGISTRYVALUE1>="#378389"
InstallUrl: http://www.microsoft.com/en-gb/download/details.aspx?id=30653
Message: Setup requires .NET Framework 4.5 to be installed.

どこ:

378389 = .NET フレームワーク 4.5

378675 = Windows 8.1 と共にインストールされた .NET Framework 4.5.1

378758 = Windows 8、Windows 7 SP1、または Windows Vista SP2 にインストールされた .NET Framework 4.5.1

379893 = .NET フレームワーク 4.5.2

起動条件の参照: http://msdn.microsoft.com/en-us/library/vstudio/xxyh2e6a(v=vs.100).aspx

于 2014-08-29T10:00:03.243 に答える
0

別の検索から。私のために働いた!

「お使いの OS が .NET 4.5 をサポートしていれば、Visual Studio 2010 を使用することができ、サポートされています。

ソリューションを右クリックして、参照を追加します (そうするように)。ダイアログ ボックスが表示されたら、[参照] を選択し、次のフォルダーに移動します。

C:\Program Files(x86)\Reference Assemblies\Microsoft\Framework\.Net Framework\4.5

あなたはそこにそれを見つけるでしょう。」

于 2016-06-09T11:18:41.787 に答える