【问题标题】:Linked Files within a Folder Structure文件夹结构中的链接文件
【发布时间】:2009-05-27 18:24:33
【问题描述】:

在 Visual Studio 中,当我将文件从一个项目链接到下一个项目时,尝试加载链接的资源时出现以下错误。仅当链接文件位于文件夹中时才会发生这种情况。

错误:

Message="'pack://application:,,,/projectName ;component/ResourceDictionary .xaml' 值不能分配给对象“System.Windows.SharedResourceDictionary”的属性“Source”。

例子:

Project1.Resources
           |
           |--> MergedResourceDictionary.xaml
           |--> ProjectResourceDictionary.xaml
           |--> Folder
                     |
                     |--> SharedResourceDictionary.xaml           


Project2.Resources
           |
           |--> MergedResourceDictionary.xaml
           |--> ProjectResourceDictionary.xaml
           |--> Folder
                     |
                     |--> SharedResourceDictionary.xaml  **LINKED**

如果我们在 MergedResourceDictionary.xaml 中合并了这些字典,则不会找到 Project2 中的“SharedResourceDictionary.xaml。但是,如果 SharedResourceDictionary.xaml 链接到项目的根目录,则在运行时找到资源。

**注意:在 project2 的“obj/debug”中,所有链接的资源都在根目录下,而在 project1 中,资源保留在项目中分配的文件夹结构中。

重建步骤 这发生在运行时。步骤如下(使用原帖中列出的文件)。

1) 在 Project1 中的“文件夹”中创建 SharedResourceDictionary 2) 在 Project2 中创建“文件夹”,然后在文件夹中添加“作为链接”SharedResourceDictionary 3)构建并运行应用程序 4) 应用程序将无法找到 SharedResourceDictionary.xaml,因为它位于文件夹中。从文件夹结构中删除文件将作为链接文件正常工作。

感谢您的帮助,

克里斯

【问题讨论】:

    标签: visual-studio xaml msbuild


    【解决方案1】:

    我花了一些时间与 Microsoft 支持部门合作解决这个问题。这是 MsBuild 的一个错误,并且不确定是否会成为他们将来修复的东西。

    我为任何感兴趣的人找到了解决方法:

    创建一个运行 LocBaml 并创建您需要的文件夹结构并将文件放置在正确文件夹中的 PostBuild 事件。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-26
      • 2013-09-01
      • 2014-05-28
      • 2017-08-12
      • 2012-11-17
      • 1970-01-01
      相关资源
      最近更新 更多