19

Main アセンブリにマージされたリソース ディクショナリがありますApp.xaml。このリソース ディクショナリは、Common と PresentationLayer という別のアセンブリのさまざまなリソース ディクショナリを結合します。

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Common;component/Themes/Button.xaml"/>
            <ResourceDictionary Source="/PresentationLayer;component/DataTemplates/AppointmentsDataTemplates.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

実行時に、リソース ディクショナリのスタイルがコントロールに正しく適用されます。ただし、設計時にスタイルが適用されず、Visual Studio 2012 で次のエラーが発生し続けます。

An error occurred while finding the resource dictionary "/Common;component/Themes/Button.xaml".

そして警告:

The resource "BannerButton" could not be resolved.

この投稿に出くわしましたが、Build Action が Resource に設定されていても問題は解決しません。また、Visual Studio 2010 または Expression Blend 4 で実行している場合、この問題は発生しませんでした。メイン アセンブリは確実に Common アセンブリへの参照を保持しており、Pack URI は変更していません。

4

6 に答える 6

8

これは、Visual Studio 2012 の既知の問題でした。Microsoft Connect のこのリンクを参照してください。VS2012 Update 1 をインストールした後、この問題は解決しました。VS2012 の最新バージョンを実行していて、まだこの問題が発生していると思われる場合は、更新が適用されていることを確認してください。Windows Update を使用して更新したと思っていましたが、VS2012 に更新を適用するように指示する必要があることがわかりました。VS2012がそのことをした後、すべてがうまくいきました。

于 2013-02-09T22:53:38.730 に答える
1

Window.Resources で同じことを試してください。app.xaml を使用するときに名前空間を追加したことを確認し、その app.xaml を使用する必要があるページにビルドオプションを変更することを忘れないでください。

于 2013-01-18T05:47:49.173 に答える
1

このエラーが発生するVS2019を使用しています。

VSを再起動するだけで、エラーは消えました。

于 2021-05-05T13:12:39.580 に答える