当项目.shared.cs代码从web到silverlight项目时,如何避免缺少程序集引用

时间:2012-01-17 10:29:59

标签: c# silverlight silverlight-4.0

几天前我开始学习银光。我正在使用Silverlight 4本书关注Pro Business Applications。

今天我在构建整个解决方案时遇到了问题。 (持有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;

我无法从文件中删除此引用,因为它已被写保护,并且在下次重新构建时将被覆盖。

这里出了什么问题?

1 个答案:

答案 0 :(得分:1)

我不是百分之百,但是IIRC你不能在Silverlight项目中使用某些程序集,例如System.Web.dll,因为它们在.NET Framework的Silverlight版本中不受支持。我在这方面可能是错的,但我似乎记得在使用Silverlight时遇到了类似的问题,并且意识到我无法使用.NET中的一些功能,而这些功能我本来不喜欢。

通过浏览Google,很多人似乎都在说你使用System.Web.Silverlight.dll而不是System.Web.dll。有关相关信息,请参阅here