适合Silverlight应用的解决方案/项目结构



我继承了一个使用Silverlight的解决方案。我发现有些项目几乎完全是其他项目的克隆,唯一的区别是这个克隆是一个Silverlight项目。例如,以下是一个非silverlight项目的项目和文件夹结构:

MyCompany。实体
->实体
-> -> Foo.cs

现在Silverlight项目:

MyCompany.Entities.SL
->实体
-> -> Foo.cs

对于两个项目,

Foo.cs是磁盘上的同一个文件。这样对吗?这就是Silverlight项目应该被构建的方式吗?看起来开销很大,应该有更好的方法。如果这是正确的,为什么这个结构是必要的?它完成了什么?

嗯,Silverlight使用的是。net框架的一个子集,它的范围被缩小了。如果。net项目使用了Silverlight运行时中缺少的一些特性,则不可能将普通的。net项目编译为Silverlight XAP。但是如果你的。net项目只使用框架的公共区域,这是可以做到的。但是,拥有相同.cs文件的两个副本会浪费磁盘空间,还会使您面临风险,因为您可能会更改一个.cs文件,而忘记相应地更改另一个。这就是为什么我在我的。net解决方案中保留所有原始文件,并在将它们添加到我的项目时使用"添加为链接"按钮的原因。很显然,你从那个人那里继承了答案。这不是一个非常奇怪/深奥的结构,在相当多的Silverlight书籍中都有推荐(我想到了Manning的Silverlight 4 in Action)。

最新更新