适用于Silverlight应用程序的解决方案/项目结构

时间:2013-04-04 14:56:15

标签: visual-studio-2010 silverlight projects-and-solutions

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

  

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

现在是Silverlight项目:

  

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

Foo.cs在磁盘上是两个项目的相同文件。这是正确的吗?这是Silverlight项目应该如何构建的吗?似乎有很多开销,应该有更好的方法。如果这是正确的,为什么这个结构是必要的?它完成了什么?

1 个答案:

答案 0 :(得分:1)

好吧,Silverlight使用范围缩小的.NET框架子集。如果.NET项目使用Silverlight运行时中缺少的某些功能,则无法将正常的.NET项目编译为Silverlight XAP。但是,如果您的.NET项目仅使用框架的公共区域,则可以完成。但是,拥有相同.cs文件的两个副本会浪费磁盘上的空间并且还会使您面临风险,因为您可能会在一个.cs文件中进行更改而忘记更改另一个.cs文件。这就是为什么我将所有原始文件保存在我的.NET解决方案中,并在将它们添加到我的项目时使用“添加为链接”按钮。显然,你继承解决方案的人也是如此。这不是一个非常奇怪/深奥的结构,它被推荐在很多Silverlight书籍中(Manning的Silverlignt 4 in Action泉流)。