我有一個WPF應用程序和一個Silverlight應用程序。它們都用於顯示地圖並共享一些相同的功能。從WPF應用程序引用Silverlight類庫時的錯誤
我創建了一個Silverlight類庫項目以保持DRY。我從Silverlight和WPF中引用了這個。它包含一些在兩個項目中都有用的實用方法。例如,我有這種方法:
public static void CenterText(TextBlock name, Polygon poly)
silverlight項目對此沒有問題。但是,從我的WPF應用程序調用此函數時出現以下錯誤:
在未引用的程序集中定義了類型「System.Windows.Shapes.Polygon」。您必須添加到程序集的引用「System.Windows,版本= 2.0.5.0,文化=中性公鑰= 7cec85d7bea7798e」
不過,我有這條線在文件的頂部:
using System.Windows.Shapes;
所以WPF可以很好地看到Polygon類。 我的猜測是Silverlight類庫使用的框架版本與WPF項目使用的版本不兼容。
所以問題是,我堅持改寫完全相同的代碼在我的WPF應用程序或有一些方法可以在兩者之間分享?
謝謝!
這很有道理。而且它似乎沒有System.Windows程序集可以在.NET4中引用。 – Erix 2011-06-03 21:19:27
那麼,如果你從相應的文件夾中獲得dll,那麼你可以引用它,問題是這不起作用,因爲這兩個程序集都包含具有相同名稱空間的類型,所以會有衝突。 – 2011-06-03 21:49:18