使用Visual Studio 2015和Git搭建Contoso University示例应用

在本文中,将从Visual Studio2015开始,继续配置Git,并探索Contoso University的一些有趣部分,然后启动并测试它。

构建和更新NuGet

从上次在Visual Studio中留下的地方继续,Team Explorer的"Home"部分应该显示"ContosoUniversity.sln"在"Solutions"部分。双击它打开Contoso University并导航到"Solution Explorer"。首先,按F6构建解决方案。NuGet包应该被恢复,五个项目应该构建完成。此时值得检查Team Explorer的"Changes"部分,以确保.gitignore文件正常工作——如果一切正常,版本控制方面不应该有任何更改。

对于非生产应用程序,通常喜欢保持最新版本的NuGet包。在"Solution Explorer"中,右键单击解决方案并选择"Manage NuGet Packages for Solution"。点击"Updates"链接,让管理器执行其任务。如果发现任何更新,点击"Select all packages",然后点击"Update":

提交(如果喜欢,还可以同步)这些更改(有关此工作流的提醒,请参见帖子),并检查解决方案是否仍然构建。

测试单元测试

该解决方案包含一些单元测试以及一些UI测试。为了确定单元测试在这个阶段是否有效,请打开Test Explorer("Test" > "Windows" > "Test Explorer"),然后点击"Playlist : All Tests"旁边的下拉箭头。选择"Open Playlist File",打开...\ContosoUniversity.Web.UnitTests\UnitTests.playlist并运行测试,这些测试应该通过,尽管覆盖率非常低("Tests" > "Analyze Code Coverage" > "All Tests")。

代码分析

代码分析(以前称为FxCop)已为每个项目启用,并报告任何规则违规。已将项目设置为使用"Microsoft Managed Recommended Rules"(请注意,SQL Server数据库项目没有规则集,对于ContosoUniversity.Database,选择了所有内容),然而,GitHub上现有的代码并没有违反这些规则。要查看此功能,请右键单击ContosoUniversity.Web项目并选择"Properties"。在"Code Analysis"选项卡上,将规则集更改为"Microsoft All Rules"并构建解决方案。"Error List"窗口应该会显示,并且应该会有很多警告——撰写本文时有85个。撤销更改后,解决方案应该再次没有警告地构建。

SQL Server Data Tools - 更好地管理数据库变更

有几种方法可以管理应用程序数据库的架构变更,虽然每种技术无疑都有其适用场景,但推荐的大多数场景是声明式方法。简单的解释是代码文件声明希望数据库的外观,然后一个单独的“引擎”负责生成一个脚本来使一个空白或现有的数据库与声明匹配。这不是万能的,因为它不能开箱即用地处理所有场景,但通常有办法绕过更复杂的情况。在这里解释了如何将Contoso University从使用Entity Framework Code Migrations管理数据库变更的方式转换为使用SQL Server Data Tools的声明式方法。如果是SSDT的新手并想了解它,在这里有一个入门帖子。

Visual Studio解决方案而言,使用SSDT的声明式方法通过SQL Server数据库项目提供。在Contoso University中,这是ContosoUniversity.Database项目。它包含表和存储过程的CREATE脚本,以及权限和安全性的脚本。它不仅包含代表数据库架构的脚本,还包含可以将参考数据插入新创建数据库的脚本。当意识到数据库项目可以用来在LocalDB中创建数据库,并且可以通过插入参考数据使其完全功能化时,这一点的重要性就变得显而易见了。在许多情况下,这可能消除了“dev”环境的需求,因为本地工作站就是dev环境、数据库和所有。这消除了配置文件包含特定于开发人员的连接字符串的问题(以及这可能导致的签入问题),因为LocalDB的连接字符串是通用的。这种工作方式有潜力告别在开发机器上使应用程序工作需要漫长的设置脚本和通常一些魔法的情况。

要查看此功能,请在ContosoUniversity.Database项目中,右键单击CU-DEV.publish.xml并选择"Publish"。在"Publish Database CU-DEV.publish.xml"对话框中,点击"Publish":

现在确保将ContosoUniversity.Web项目设置为启动项目(如果不是加粗的,请右键单击并选择"Set as StartUp Project"),然后按F5运行应用程序。一个完全功能的ContosoUniversity应该会立即启动。导航到(例如)Departments应该允许执行所有CRUD活动。这是多么简单啊?

这就是Contoso University之旅的结束。尽管解决方案中包含自动化UI测试,但不会在这里介绍它们,因为它们是一个非常高级的话题,也计划进行一些更改。话虽如此,如果开发机器上安装了FireFox,可能可以运行它们。请参见之前的博客系列帖子。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485