Как создать диаграмму классов для библиотеки классов в VS2017?

У меня есть проект библиотеки классов C# в Visual Studio 2017, для которого я хотел бы создать диаграмму классов. Конструктор классов установлен. Глядя на контекстное меню для пространства имен или любого из классов в представлении классов, я вижу опцию "просмотреть диаграмму классов", а также кнопку для нее в строке меню представления.

однако, когда я нажимаю кнопку или пункт контекстного меню, ничего не происходит! Переходя к представлению обозревателя решений, я вижу ClassDiagram1.cd файл добавлен в проект. Попытка открыть этот файл, хотя приводит к сообщению об ошибке:

диаграммы классов не поддерживаются этим типом проекта.

добавьте файл диаграммы классов в проект C#, VB или C++ и попробуйте открыть его снова.

Я был бы счастлив сам добавить диаграмму, а не генерировать ее, если генерация невозможна. Но я также не могу добавить пустой файл диаграммы классов в проект как этот тип файла не отображается в списке типы файлов в форме Добавить новый элемент.

Как создать диаграмму классов для классов, содержащихся в библиотеке классов? Или, может быть, диаграммы классов недоступны для библиотек? Если последнее имеет место, есть ли какая-либо информация от Microsoft до A) подтвердите это и B) объясните, почему классы в программе могут быть схематизированы, но не классы в библиотеке. (Я уже потратил некоторое время на поиск этого вопроса, но не нашел ничего конкретного для класса библиотеки)

3 ответов


поскольку это ссылка Google #1 для проблем с дизайнером классов, и на удивление никто не удосужился ответить до сих пор (особенно часть "диаграммы классов не поддерживаются этим типом проекта"), позвольте мне перезвонить:

закрыть VS и открыть файл в

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

поиск строки

<ProjectCapability Include="CSharp;Managed"/>

напишите "ClassDesigner" как такую возможность:

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

сохраните файл и повторно откройте VS. Ваша схема классов должна работать. Вы должны даже иметь возможность добавлять новые (по крайней мере, я могу в моем проекте библиотеки классов .NET Standard 2.0 в VS2017.5.3).


на самом деле правильный ответ-использовать установщик Visual Studio, как описано здесь в документации Microsoft. И это работает!

как добавить-класс-схемы-для-проектов


насколько я могу судить, диаграммы классов в настоящее время не поддерживаются в проектах .Net Standard и .Net Core (они имеют один и тот же тип проекта) в VS 2017. есть несколько тем об этом в сообществе разработчиков, который до сих пор не получил большого ответа от Microsoft.

вы можете рассмотреть возможность создания проблемы об этом на dotnet / стандартное РЕПО.