如何在Visual Studio中将XAML文件编译为多个项目?

时间:2012-02-09 06:22:53

标签: visual-studio xaml

我有2个解决方案的副本,每个副本都是根据相同的第三方API和不同的.NET框架版本的不同版本编译的。

  • 解决方案A - 针对第三方API和.NET 4.0的v2012编译
  • 解决方案B - 针对第三方API和.NET 3.5的v2011编译

解决方案A包含这些文件的所有源文件和解决方案B链接(使用Visual Studio中的“添加为链接”)。

条件编译用于包含特定于一个解决方案或另一个解决方案的代码。

我的解决方案包含一些XAML(WPF Windows,用户控件和资源字典)。解决方案B链接到这些XAML文件并编译好,但是当我运行它时,我得到Set property 'System.Windows.ResourceDictionary.Source' threw an exception例外。

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

例如,一个项目包含Windows/MyWindow.xaml文件,而解决方案A中的已编译程序集包含windows/mywindow.baml资源,而在解决方案B的程序集中,资源的名称仅为{{1} }。

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

1 个答案:

答案 0 :(得分:1)

如果你使用的是Windows7 / Vista / 2008(不是XP),可以尝试使用Windows链接而不是Visual Studio Link。 http://technet.microsoft.com/en-us/library/cc753194(v=ws.10).aspx

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