在 Windows 上,使用 Visual Studio 2017 生成完整的 .NET Core 解决方案
Visual Studio 2017 提供了用于开发 .NET Core 应用程序的功能全面的开发环境。 本文档中的过程介绍了构建典型的 .NET Core 解决方案所需的步骤,包含可重用库、测试以及使用第三方库。
系统必备
请按照先决条件页上的说明更新环境。
仅使用 .NET Core 项目的解决方案
编写库
-
在 Visual Studio 中,依次选择 “文件”、 “新建”、 “项目”。 在“新建项目”对话框中,展开“Visual C#”节点并选择“.NET Standard”节点,然后选择“类库(.NET Standard)”。 这将创建一个 .NET Standard 库,该库面向 .NET Core 及支持 .NET Standard 版本 2.0 的任何其他 .NET 实现。
-
将项目命名为“Library”,将解决方案命名为“Golden”。 保持选中“为解决方案创建目录”。 单击 “确定”。
-
在“解决方案资源管理器”中,打开“依赖项”节点的上下文菜单,并选择“管理 NuGet 包”。
-
选择“nuget.org”作为“包源”,并选择“浏览”选项卡。浏找到 Newtonsoft.Json。 单击“安装”,然后接受许可协议。 现在,包应该在“依赖项/NuGet”下显示并自动还原。
-
将
Class1.cs
文件重命名为Thing.cs
。 接受类的重命名。 添加方法:public int Get(int number) => Newtonsoft.Json.JsonConvert.DeserializeObject<int>($"{number}");
-
在 “生成” 菜单上,选择 “生成解决方案”。
应该可以正确地生成解决方案。
编写测试项目
-
在“解决方案资源管理器”中,打开“解决方案”节点的上下文菜单,然后依次选择“添加”、“新建项目”。 在“新建项目”对话框中的“Visual C#/.NET Core”下选择“单元测试项目 (.NET Core)”。 将它命名为“TestLibrary”,然后单击“确定”。
-
在“TestLibrary”项目中,打开“依赖项”节点的上下文菜单,选择“添加引用”。 单击“项目”,然后勾选Library项目并单击“确定”。 这会在TestLibrary项目中添加一个对Library项目的引用。
-
将
UnitTest1.cs
文件重命名为LibraryTests.cs
并接受类重命名。 将using Library;
添加到文件顶部,并将TestMethod1
方法替换为以下代码:[TestMethod] public void ThingGetsObjectValFromNumber() { Assert.AreEqual(42, new Thing().Get(42)); }
现在,应该可以生成解决方案了。
-
在“测试”菜单上,依次选择“Windows”和“测试资源管理器”,将测试资源管理器窗口植入工作区。 几秒钟后,
ThingGetsObjectValFromNumber
测试应在测试资源管理器中显示。 选择 “全部运行”。测试应该会通过。
编写控制台应用
-
在“解决方案资源管理器”中,打开解决方案的上下文菜单,添加新的控制台应用 (.NET Core) 项目。 将其命名为“App”。
-
在 App 项目中,打开“依赖项”节点的上下文菜单,依次选择“添加”和“引用”。
-
在“引用管理器”对话框中,选中“项目”、“解决方案”节点下的“Library”,然后单击“确定”
-
打开 App 节点的上下文菜单,选择“设置为启动项目”。 这确保了按 F5 或 Ctrl+F5 时可启动控制台应用。
-
打开
Program.cs
文件,将using Library;
指令添加到文件顶部,然后将Console.WriteLine($"The answer is {new Thing().Get(42)}.");
添加到Main
方法。 -
在刚添加的行后设置一个断点。
-
按 F5 运行该应用程序。
应用程序应正确生成并命中断点。 应该也可检查应用程序有输出“The answer is 42.”。