ビルドアクション
Visual Studio 2010にWindows Phone 7 SDKをインストール使っていると「ファイル」の「プロパティシート」に知らない項目が増えていることが気がつく。
従来からあったコンパイル、コンテンツ、埋め込まれたリソースは良いが、その後の
-
- Resource
- CodeAnalysisDictionary
- ApplicationDefinition
- Page
- SplashScreen
- DesignData
- DesginDataWithDesignTimeCreatableTypes
- EntityDeploy
これらはどれも全く知らない。
少し調べてみたがCodeAnalysisDictionaryはコード解析辞書、ApplicationDefinitionとPage、SplashSvreenはXAMLの用途の違い、DesignDataとDesginDataWithDesignTimeCreatableTypesはテスト用データ、EntityDeployはエンティティフレームワークの.edmx形式のものだということが解ったが、Resourceが今ひとつよく分らない。
この"Resource"に気がついたのは、外部XAMLのResourceDictionaryを参照する場合に例えばApp.xamlには以下のように記述するが、
<Application : <!--Application Resources (silverlightの場合、アセンブリ名;component/ディレクトリ/xamlとなるので注意) --> <Application.Resources> <ResourceDictionary Source="/Mandarine;component/Resources/CommonResourceDictionary.xaml" /> </Application.Resources> : </Application>
この場合、CommonResourceDictionary.xamlのファイルはMadarineという名前のアセンブリ内に存在しているが、ビルドアクションは"埋め込みリソース"では駄目で、"Resource"にしなくてはならないのである。
そもそも元々「埋め込みリソース」という分類があるのにResourceというのは何の目的に使うのだろう。