2017-05-11 17 views
1

一部の機能/ファイルをあるソリューションから別のソリューションにコピーしました。フォルダを持っているソリューション1では同じアセンブリ内のResourceDictionaryが見つからないのはなぜですか?

私はWindowsアプリケーションDemoApp1を持っている:

作品以上
  • シェル
  • リボン/リソース
シェル/ ShellView.xamlで

<UserControl.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="/Ribbon/Resources/Ribbon.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</UserControl.Resources> 

問題はありません。

解決策2では、WindowsアプリケーションDemoApp2がほとんどありません。 Appクラスは、ほとんどのことを行うC#クラスライブラリDemoApp2Featureのクラスから継承します。

シェルとRibbondのフォルダ構造とファイルは、クラスライブラリDemoApp2Featureと同じです。ただし、上記の結果は次のようになります。

XamlParseException 'プロパティ' System.Windows.ResourceDictionary.Sourceが 'excetionをスローしました'を設定します。私はVS2015の例外の詳細に見てみると

はBASEURIは、次のようになります。

{パック://アプリケーション:,,,/DemoApp2Feature;コンポーネント/シェル/ shellview.xaml}

私は維持したいと思います

これらのMergedDictionaries定義を持つ数十のファイルが存在するため、DemoApp2Featureのファイルとフォルダ構造も同じです。だから、どのようにDemoApp2FeatureのResourceDictionariesを探す場所の基礎が何であるかを知ることができます。

答えて

0

私は、私は完全にあなたのシナリオを理解していないが、このページは、リソースがどこにあるかに応じて、パッケージのURIのための適切な形式について説明します。

https://msdn.microsoft.com/en-us/library/aa970069(v=vs.110).aspx

enter image description here

+0

感謝を!私は相対ファイルのURI URI(なぜなら、同じことを意味すると仮定します)のリソースファイルがIMOの "/SubFolder/ResourceFile.xaml"の実行時に実行されない理由を尋ねようとしています。他のソリューションでは、彼らは動作します。 –

関連する問題