Visual studio 如何在VisualStudio中将XAML文件编译成多个项目?

Visual studio 如何在VisualStudio中将XAML文件编译成多个项目?,visual-studio,xaml,Visual Studio,Xaml,我有一个解决方案的两个副本,每个副本都是针对同一第三方API的不同版本和不同的.NET framework版本编译的 解决方案A-根据第三方API和.NET 4.0的v2012进行编译 解决方案B-根据第三方API和.NET 3.5的v2011进行编译 解决方案A包含所有源文件和指向这些文件的解决方案B链接(在Visual Studio中使用“添加为链接”) 条件编译用于包含特定于某个解决方案的代码 我的解决方案包含一些XAML(WPF窗口、用户控件和资源字典)。解决方案B链接到这些XAML

我有一个解决方案的两个副本,每个副本都是针对同一第三方API的不同版本和不同的.NET framework版本编译的

  • 解决方案A-根据第三方API和.NET 4.0的v2012进行编译
  • 解决方案B-根据第三方API和.NET 3.5的v2011进行编译
解决方案A包含所有源文件和指向这些文件的解决方案B链接(在Visual Studio中使用“添加为链接”)

条件编译用于包含特定于某个解决方案的代码

我的解决方案包含一些XAML(WPF窗口、用户控件和资源字典)。解决方案B链接到这些XAML文件并编译正常,但当我运行它时,我得到一个
Set属性'System.Windows.ResourceDictionary.Source'引发了一个异常
exception

我已经对程序集的两个版本进行了反思,并且在资源名称上存在差异

例如,一个项目包含一个
Windows/MyWindow.xaml
文件,从解决方案a编译的程序集包含一个
Windows/MyWindow.baml
资源,而在解决方案B的程序集中,资源的名称只是
MyWindow.baml


有没有办法将同一个XAML文件编译成多个项目?

如果您使用的是Windows7/Vista/2008(不是XP),可以尝试使用Windows链接而不是Visual Studio链接。

因此,对于Windows链接,它是磁盘上的同一个文件,但在每个项目目录中显示为单独的文件。(是的,在任一位置更改文件都会在两个位置更改它,因为文件实际上位于一个位置,指针位于两个位置)