【C++】VisualStudio教程(三)-项⽬和解决⽅案
00. ⽬录
⽂章⽬录
01. 概述
解决⽅案是⼀个容器,⽤于组织⼀个或多个相关的代码项⽬,例如,⼀个类库项⽬和⼀个对应的测试项⽬。 我们会介绍项⽬的属性和其中包含的⼀些⽂件。 此外,我们还会在⼀个项⽬中创建对另⼀项⽬的引⽤。
尽管其名称如此,但解决⽅案并不是“答案”。 解决⽅案仅仅是 Visual Studio ⽤来组织⼀个或多个相关项⽬的容器。 在 Visual Studio 中打开解决⽅案时,它会⾃动加载其中包含的所有项⽬。
02. 创建解决⽅案
我们先创建⼀个空的解决⽅案。 对 Visual Studio 有⼀定了解后,可能就不会经常创建空的解决⽅案。 在 Visual Studio 中创建新项⽬时,如果没有打开的解决⽅案,它会⾃动创建⼀个解决⽅案来存放项⽬。
1. 打开 Visual Studio。
2. 在“开始”窗⼝中,选择“创建新项⽬”。
3. 在“创建新项⽬”页上,在搜索框中输⼊“空⽩解决⽅案”,选择“空⽩解决⽅案”模板,然后选择“下⼀步” 。
4. 将解决⽅案命名为“QuickSolution”,然后选择“创建” 。
解决⽅案将显⽰在 Visual Studio 窗⼝右侧的解决⽅案资源管理器中 。 你可能会经常使⽤“解决⽅案资源管理器”来浏览项⽬的内容。
如果你安装了多个⼯作负载,那么“空⽩解决⽅案”模板可能不会出现在搜索结果列表的顶部。 尝试滚动到列表的“基于你搜索的其他结果”部分。 它应该出现在那⾥。
03. 添加项⽬
现在我们将第⼀个项⽬添加到解决⽅案。 先从空项⽬开始,将所需项添加到项⽬中。
1. 在“解决⽅案资源管理器”中的“解决⽅案 ‘QuickSolution’”的右键菜单或上下⽂菜单中,依次选择“添加”>“新建项⽬” 。
随即打开显⽰“添加新项⽬”的对话框 。
2. 在顶部的搜索框中输⼊⽂本“空”,然后在“语⾔”下选择“C#”。
3. 然后选择“空项⽬ (.NET Framework)”模板并选择“下⼀步” 。
4. 将项⽬命名为“QuickDate”,然后选择“创建” 。
随后名为“QuickDate”的项⽬出现在“解决⽅案资源管理器”中的解决⽅案下 。 ⽬前它包含⼀个名为“fig”的⽂件 。备注
如果没有看到“空项⽬(.NET Framework)”模板,则需要安装 .NET 桌⾯开发 Visual Studio ⼯作负载 。 Visual Studio 使⽤基于⼯作负载的安装旨在仅安装所执⾏的开发类型需要的组件。
在创建新项⽬时安装新⼯作负载的简便⽅法是,在显⽰“未到你要查的内容”的⽂本下选择“安装更多⼯具和功能”链接 。
在“Visual Studio 安装程序”启动后,选择“.NET 桌⾯开发”⼯作负载,再单击“修改”按钮 。
04. 向项⽬添加⼀个项
我们有⼀个空项⽬。 我们来添加代码⽂件。
writeline教程
1. 在“解决⽅案资源管理器”中的“QuickDate”项⽬的右键菜单或上下⽂菜单中,依次选择“添加” > “新建项” 。
此时将打开“添加新项”对话框。
2. 展开“Visual C# 项”,然后选择“代码” 。 在中间窗格中,选择“类”项模板。 将类命名为“Calendar”,然后选择“添加”按
钮 。
名为“Calendar.cs”的⽂件已添加到项⽬。 末尾的 .cs 是 C# 代码⽂件的⽂件扩展名。 ⽂件出现在“解决⽅案资源管理器”中的可视项⽬层次结构中,其内容在编辑器中打开。
3. 将 Calendar.cs ⽂件的内容替换为以下代码:
namespace QuickDate
{
internal class Calendar
{
static void Main(string[] args)
{
DateTime now = GetCurrentDate();
Console.WriteLine($"Today's date is {now}");
Console.ReadLine();
}
internal static DateTime GetCurrentDate()
{
return DateTime.Now.Date;
}
}
}
你⽆需了解代码的作⽤,但是如果你想知道,可通过按 Ctrl+F5 来运⾏该程序,即可看到程序将今天的⽇期打印到控制台(或标准输出)窗⼝ 。
05. 添加第⼆个项⽬
包含多个项⽬的解决⽅案很常见,⽽且这些项⽬通常相互引⽤。 解决⽅案中的⼀些项⽬可能是类库,可能是可执⾏应⽤程序,也可能是单元测试项⽬或⽹站。
我们来向解决⽅案添加单元测试项⽬。 这次我们从项⽬模板开始,所以不需要向项⽬添加额外的代码⽂件。
1. 在“解决⽅案资源管理器”中的“解决⽅案 ‘QuickSolution’”的右键菜单或上下⽂菜单中,依次选择“添加” > “新建项⽬” 。
2. 在“添加新项⽬”对话框中,在顶部的搜索框输⼊⽂本“单元测试”,然后在“语⾔”下选择“C#”。
3. 选择“MSTest 测试项⽬(.NET Core)”项⽬模板,然后选择“下⼀步” 。
4. 将项⽬命名为“QuickTest”,然后选择“创建” 。
第⼆个项⽬已添加到“解决⽅案资源管理器”,且编辑器中打开了名为 UnitTest1.cs 的⽂件。
06. 添加项⽬引⽤
我们将使⽤新的单元测试项⽬测试“QuickDate”项⽬中的⽅法,因此需要添加对该项⽬的引⽤。 创建引⽤会在两个项⽬间创建⽣成依赖关系,这意味着⽣成解决⽅案时,会先⽣成“QuickDate”,再⽣成“QuickTest”。
1. 选择“QuickTest”项⽬中的“依赖关系”节点,然后在右键菜单或上下⽂菜单中选择“添加项⽬引⽤…” 。
打开“引⽤管理器”对话框。
2. 在左侧窗格中,展开“项⽬”,然后选择“解决⽅案” 。 在中间窗格中,选择“QuickDate”旁的复选框,然后选择“确定” 。
已添加对“QuickDate”项⽬的引⽤。
07. 添加测试代码
1. 现在我们向 C# 测试代码⽂件添加测试代码。 将 UnitTest1.cs 的内容替换为以下代码:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace QuickTest
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestGetCurrentDate()
{
Assert.AreEqual(DateTime.Now.Date, QuickDate.Calendar.GetCurrentDate());
}
}
}
你会看到某些代码下出现红⾊波浪线。 将测试项⽬设为“QuickDate”项⽬的友元程序集来解决此错误。
2. 返回 QuickDate 项⽬,打开 Calendar.cs ⽂件(如果它尚未打开)。 将以下 using 语句和 InternalsVisibleToAttribute 属性添加
到⽂件顶部以解决测试项⽬中的错误。
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("QuickTest")]
代码⽂件应如下所⽰:
08. 项⽬属性
包含 InternalsVisibleToAttribute 属性的 Calendar.cs ⽂件中的⾏引⽤了“QuickTest”项⽬的程序集名称
(⽂件名)。 程序集名称可能不会始终与项⽬名称相同。 若要查看项⽬的程序集名称,请打开项⽬属性。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。