芒果控制库 - 我们需要WP70 / WP71的不同二进制文件吗?

时间:2011-08-18 15:55:08

标签: windows-phone-7

上下文: 我们有一个控制库,想要发布与Mango兼容的版本。该库不使用任何特定于Mango的功能。

安装7.1 SDK后,我发现旧代码中只有一个问题,涉及在ControlTemplate中使用TemplateBinding。其他一切都奏效了。

可以为WindowsPhone或WindowsPhone71目标构建库。 (二进制)代码几乎相同;唯一重要的区别似乎是目标在dll文件中是硬编码的。

现在假设开发人员安装了控件库并希望在他的项目中使用它。该项目必须针对7.0或7.1环境。仅当控件库的目标与项目目标兼容时,才会在“添加引用”对话框中显示该控件库。 (可以通过手动浏览dll文件来绕过,但这是一个不太好的解决方案。)

您是否看到如何生成可用于7.0和7.1目标的单个控件库DLL文件?

2 个答案:

答案 0 :(得分:1)

如果它不依赖于Windows Phone Mango功能,那么您只需编译DLL for 7.0并在7.1项目中重复使用它。那将是最好的解决方案。

即使它没有在Visual Studio中列出,但对于大多数旧库而言,“浏览”过程是标准的。

答案 1 :(得分:0)

通过分析SVL Toolkit完成的工作,真正的解决方案似乎是编辑注册表项HKLM / Software / Microsoft / Microsoft SDK。如果你按下这个键,那么:

  • Silverlight for Phone / v4.0 / AssemblyFoldersEx列出针对WP7.0的应用程序的程序集,

  • Silverlight for WindowsPhone / v4.0 / AssemblyFoldersEx列出了针对以Mango为目标的应用程序的程序集。

您可以在两个键中引用相同的程序集。这似乎覆盖了dll中硬编码的目标。

必须进行更多测试以确定是否存在其他警告。