2012-03-10 13 views
7

私は標準的な方法で試してみると、サポートされていないリファレンスが出てきて、クラスを使用できないようです。Win8 JavascriptのメトロアプリケーションからC#クラスライブラリをどのように参照していますか?

+1

これはどのようなC#クラスライブラリですか? .NETCoreをターゲットにしていますか?それは.winmdを生成しますか? –

+2

具体的に言うと、クラスライブラリプロジェクトを作成するときは、「Windows」ではなく「Windows Metroスタイル」の下でテンプレートを使用してください。そうすれば、.winmdとそれに必要なすべてのものが得られます作業。あなたはそのようなバニラクラスライブラリプロジェクトを参照することはできません。 –

+1

Metro固有のクラスライブラリタイプに加えて、Metroと標準.NET(SilverlightとWP7もサポート)で使用できるポータブルライブラリプロジェクトを作成できますが、選択するプラットフォーム間で共通の機能のサブセットのみが可能です。 –

答えて

4

"Visual C#" - > "Windows Metro Style" - > "Class Library"テンプレートからクラスライブラリを作成してWindowsランタイムコンポーネントを作成する必要があります。そして、あなたは、出力タイプをマークする必要があり、そのクラスライブラリプロジェクトのプロパティで

を「ファイルWinMD」より良い説明はここで見つけることができますよう:

http://msdn.microsoft.com/en-us/library/windows/apps/hh779077(v=vs.110).aspx

これは、ドキュメントに記載されておらず、おそらくWindows 8 Consumer PreviewとVisual Studio 11 Betaのバグですが、参照しているプロジェクトの名前にピリオドを含めないでください。たとえば、私はCarアプリケーションで作業していたので、 "Car.Business"という名前のアセンブリを作成しました。私がこれを参照しようとするたびに、アプリケーションはブランクスタートアップ画面で常にクラッシュします。一方、私はちょうどアセンブリの名前として "ビジネス"を使用した場合、アプリケーションは正常に動作します。

関連する問題