web-dev-qa-db-ja.com

ウィンドウはVisual Studio 2012 RCでCLRアプリケーションを形成しますか?

簡単な質問、私はVS2012を試してc ++。netアプリを作成しようとしているだけですが、私の人生では、新しいプロジェクトを作成するときにオプションを見つけることができません。

Vs2008では、以前は新しいプロジェクト>ビジュアルc ++> CLR> windwosフォームアプリケーションの下にありました。

Vs2012から.netでc ++/CLRアプリケーションを作成するオプションを削除しましたか?それともダウンロードする必要があるものですか?

17
Adil Chaudhry

MicrosoftはC++/CLI Windowsフォームアプリケーションを作成するオプションを削除しましたが、テンプレートファイルは引き続きインストールされています。唯一欠けているのは、.vszファイルとvcNET.vcdirファイルへの登録です。これらのファイルを再作成して、ダウンロード用に公開しました here

ファイルをインストールすると、C++/CLIでWinFormアプリを再び作成できるようになります。

39
Tim 't Hart

さて、多くの人がこの問題に直面しています。これが私が従うものです:

Visual C++-> CLR-> CLR空のプロジェクトを作成します(もちろん、名前とディレクトリを指定します)。

作成されたら、プロジェクトを右クリックして[追加->新しいアイテム]を選択します。

[UI]タブで、[Windowsフォーム]を選択します。フォームに名前を付け、[OK]をクリックします。このフォームはプロジェクトに追加されます。

フォームが追加されたら、YourFormName.cpp内に次のコードをコピーします。

using namespace System;
using namespace System::Windows::Forms;

[STAThread]
void Main(array<String^>^ args)
{
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    Project1::MyForm myForm;        //NameOfProject::NameOfForm instanceOfForm;
    Application::Run(%myForm);
}

あと少しで完了です...

次に、[Project Properties]の下でLinkerセクションを展開し、[System]を選択します。サブシステムオプションの下で、Windows(/ SUBSYSTEM/WINDOWS)を選択します。

次に、エントリポイントを追加します。 [リンカー->詳細設定]で、[エントリポイント]として[メイン]を選択します

ビルドして実行します。

P.S.:これは空のフォームです;)

14
codegasm

はい、マイクロソフトはオプションを削除しました。これはマイクロソフトからの応答です( 参照 ):

C++/CLIは相互運用のための優れたソリューションですが、C++/CLIを使用して新しいUIアプリケーションを作成することはお勧めしません。

リンクによって提供される回避策は次のとおりです。

  1. 2012RCとMSVC2010 Expressの両方で空のC++ソリューションを作成します。
  2. 2010 Expressを使用して、2012RC空のソリューションのフォルダー内に新しいWinForm Appプロジェクトを作成します。すべての保存を閉じます。
  3. 2012RCと「既存のプロジェクトの追加」を使用して、2010 Express-WinForm Appプロジェクトを空の2012RCソリューションに追加します。
  4. プロジェクトを右クリックして2012RC "フォーマット"に変換します

それは機能し、それは簡単です!しかし、私はすべての結果を知りません。

7
Jesse Good

自分でテンプレートを作成する:

  1. 2012RC(新しいプロジェクト->他のプロジェクトタイプ-> Visual Studioソリューション->空のソリューション)とMSVC2010 Express(新しいプロジェクト-> Visual C++->空のプロジェクト)の両方で空のC++ソリューションを作成します。
  2. 2010 Expressを使用して、2012RC空のソリューションのフォルダー内に新しいWindowsフォームアプリプロジェクト(「myWForm11」などの名前を付けます)を作成します。 2010 Expressを閉じてすべてを保存します。
  3. 2012RCと「既存のプロジェクトの追加」を使用して、2010 Express-WinForm Appプロジェクトを空の2012RCソリューションに追加します。
  4. ソリューションを右クリックしてVC++プロジェクトをアップグレードを2012RC "フォーマット"に
  5. ファイル->テンプレートのエクスポート...->次へ>テンプレート名を入力します: "Windowsフォームアプリ、C++ 2012RC"などといくつかの説明。
  6. 仕上げ
  7. ソリューションを閉じる

これで、WFアプリを2012RCに「常に」」作成できます(新しいプロジェクト->インストール済み->テンプレート-> Visual C++-> Windowsフォームアプリ、C++ 2012RC)。

それは機能し、それは簡単です!しかし、私はすべての結果を知りません。

1
qPCR4vir

VS2010で新しいプロジェクトを作成しました。次に、それをVS2013にインポートします。

フォームデザイナがこれを常に使用するとは限りません。ソースファイルを少し変更して保存します。フォームデザイナは、プロジェクトを再度読み込むまで問題なく動作します。

0
user40594