2012-01-17 47 views
0

幾天前我開始學習silverlight。我正在關注Silver Business 4專業版商業應用程序。如何避免項目.shared.cs代碼從web到Silverlight項目時丟失的程序集引用

今天我遇到了一個問題,當我建立整個解決方案。 (持有silverlight和web項目)我使用擴展名爲.shared.cs的部分類向web項目添加了一個簡單的計算字段。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

namespace BusinessApplication1.Web 
{ 
    public partial class Product 
    { 
     public decimal ProfitMargi 
     { 
      get { return ListPrice - StandardCost; } 
     } 
    } 
} 

但是,當我建立這個解決方案,這部分類被複制到Silverlight項目中,我得到以下錯誤:

The type or namespace name 'Web' does not exist in the namespace 'System' (are you missing an assembly reference?) 

上:

using System.Web; 

我無法刪除此來自該文件的參考,因爲它是寫保護的,下一次再次構建時將被覆蓋。

這裏怎麼回事?

+0

您是否缺少包含該名稱空間的程序集引用? – 2012-01-17 10:35:12

+0

是的,它是缺少的,但是當我嘗試添加它時,我得到了 您不能添加對System.Web.dll的引用,因爲它不是針對Silverlight運行時構建的。 Silverlight項目只能用於Silverlight程序集。 – ThdK 2012-01-17 10:44:40

回答

1

對此我不是100%,但是IIRC不能在Silverlight項目中使用某些程序集,例如System.Web.dll,因爲Silverlight版本的.NET Framework不支持它們。我可能是錯的,但我似乎記得在使用Silverlight時遇到了類似的問題,並意識到我無法使用.NET中的某些功能,而這些功能是我所喜歡的。

從谷歌瀏覽看,很多人似乎都在說使用System.Web.Silverlight.dll而不是System.Web.dll。有關這方面的一些信息,請參閱here

+0

我無法在SDK中找到System.Web.Silverlight。但我發現我可以在服務器端刪除這個'使用System.Web'這一行(我對此文件有寫權限),因爲我不需要它在客戶端或服務器端。但我希望我不會需要這個功能... – ThdK 2012-01-17 11:45:27

相關問題