【问题标题】:Proper solution/project structure for Silverlight appsSilverlight 应用程序的正确解决方案/项目结构
【发布时间】:2013-04-04 14:56:15
【问题描述】:
我继承了使用 Silverlight 的解决方案。我发现有些项目几乎是其他项目的完全克隆,唯一的区别是克隆是 Silverlight 项目。例如,这是一个非 Silverlight 项目的项目和文件夹结构:
MyCompany.Entities
-> 实体
-> --> Foo.cs
现在是 Silverlight 项目:
MyCompany.Entities.SL
-> 实体
-> --> Foo.cs
Foo.cs 是两个项目在磁盘上的同一个文件。这是正确的吗?这就是 Silverlight 项目的结构吗?似乎有很多开销,应该有更好的方法。如果这是正确的,为什么需要这种结构?它有什么作用?
【问题讨论】:
标签:
visual-studio-2010
silverlight
projects-and-solutions
【解决方案1】:
好吧,Silverlight 使用了 .NET 框架的一个子集,它的范围缩小了。如果 .NET 项目使用 Silverlight 运行时缺少的某些功能,则无法将普通 .NET 项目编译为 Silverlight XAP。但是,如果您的 .NET 项目仅使用框架的公共区域,则可以这样做。但是,拥有同一个 .cs 文件的两个副本会浪费磁盘空间,并且还会让您面临风险,因为您可能会在一个 .cs 文件中进行更改而忘记相应地更改另一个。这就是为什么我将所有原始文件保留在我的 .NET 解决方案中,并在将它们添加到我的项目时使用“添加为链接”按钮。显然,您从那里继承解决方案的人也是如此。这不是一个非常奇怪/深奥的结构,在很多 Silverlight 书籍中都推荐了它(Manning 的 Silverlignt 4 in Action)。