VS 2017中的类图

我一直在使用 VS2015和喜欢的类图项目。
我最近升级到2017年,似乎找不到类图项目。
有人知道我怎么拿到的吗?

133451 次浏览

在测试版中注意到这一点,并认为我有一个糟糕的安装。添加新类图的 UI 元素不见了,我无法打开现有的 * 。解决方案中的类图文件。刚升级到2017年,发现问题仍然存在。经过一些调查之后,默认情况下似乎不再安装类设计器组件。

重新运行 VS 安装程序并添加类设计器组件可以恢复打开和编辑类关系图以及创建新关系图所需的 UI 元素的能力

VS Installer > Individual Components > Class Designer

您需要从 VisualStudio2017安装程序中安装“ VisualStudio 扩展开发”工作负载和“类设计器”可选组件才能获得该特性。

见: VisualStudioCommunity2017组件目录

但这种东西是 不适用于所有项目类型,你自己试试看:

  • 在控制台应用程序(.NETFramework)中可用;

  • 在控制台应用程序(.NET 核心)中。

我找不到更多关于.NET Core 项目未来可用性的信息。

使用 VS2017企业版:

  1. 转到快速启动栏(右上) Ctrl + 问:
  2. 键入“类设计器”,将弹出一个安装链接

    Quick Launch > Class Designer

  3. 点击安装,重新启动,然后你就可以开始比赛了... ... 尽情享受吧!

下面的程序对我很有效:

  • 关闭 VS。
  • 运行 VisualStudio 安装程序。
  • 单击“ VisualStudioProfessional2017”下的“修改”按钮
  • 在新窗口中,向下滚动并在“其他工具集”下选择“ VisualStudio 扩展开发”。
  • 然后在右边,如果还没有选中,点击“类设计器”
  • 点击“修改”确认

我使用的是 VS 2017企业版,您可以找到一个选项来安装类图扩展使用快速启动在 VS 中。

哇哦,它和一些黑客一起工作!

根据 此评论,你需要:

  1. 手动编辑位于 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\VisualStudio\Managed中的 Microsoft.CSharp.DesignTime.targets(对于 VS 社区版,修改其他版本的路径) ,将 ClassDesigner值附加到 ProjectCapability(右窗格) :File diff

  2. 重启 VS。

  3. 手动创建文本文件,如 MyClasses.cd,内容如下: Xml version = “1.0”coding = “ utf-8”? > < 类图主版 = “1”小版 = “1”> < 字体名称 = “ Segoe UI”大小 = “9”/>

找到了。现在,您可以在 VS 中打开这个文件,在 VS 启动之后,您将看到错误消息“ Object reference not set to an instance of Object”,但是图表可以工作。

检查 VS 2017社区版,V15.3.0. NETCore 2.0应用程序/项目:

enter image description here

GitHub 问题 预计将在15.5版本中修复

除了@ericgol 的回答: 在 VisualStudioCommunity2017的法语版本中,在搜索栏中键入“ Concepteur de class”。

VS 2017专业版 - 转到快速启动类型“类...”选择类设计器并安装它。

安装完成后,进入“添加新项目”搜索“类图”,就可以开始了。

  1. 从“ Windows 开始”菜单中打开 VisualStudio 安装程序,或通过 选择 Tools > Get Tools and Features from the menu bar in Visual 工作室。

    将打开 VisualStudio 安装程序。

  2. 选择“个别组件”选项卡,然后向下滚动到 代码工具类别

  3. 选择“类设计器”,然后选择“修改”。

Visual Studio Installer Window

类设计器组件开始安装。

有关详情,请浏览以下连结: 如何: 向项目中添加类关系图

关于德米特里2017年答案的进一步说明,我打开了

C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\MSBuild\Microsoft\VisualStudio\Managed\
Microsoft.CSharp.DesignTime.targets

然后转到 <ProjectCapability>元素,我已经有了这个:

<ProjectCapability Include="
CSharp;
Managed;
ClassDesigner**;**" />

使用 ClassDesigner,但是我仍然无法使用 Dmitry 提到的 XML 编辑方法将项目拖到我黑客制作的 Diagram.cd 中(

手动创建文本文件,例如 MyClasses.cd,其内容如下:

<?xml version="1.0" encoding="utf-8"?> <ClassDiagram MajorVersion="1"
> MinorVersion="1">
>     <Font Name="Segoe UI" Size="9" /> </ClassDiagram>

).但是,当我在那个元素中去掉“ ClassDesigner”的分号,然后重新打开 Visual Studio,瞧,我能够将类从解决方案资源管理器拖到 Diagram.cd 窗口。

因此,总的来说,Microsoft.CSharp.DesignTime.targets中的这个元素起作用了:

<ProjectCapability Include="
CSharp;
Managed;
ClassDesigner" />

我使用的是 VS2019版本16.1.5。