Может ли интерактивное окно С# взаимодействовать с моим кодом?
Я установил Roslyn. Теперь, если я знаю, где искать Visual Studio, я могу открыть "С# интерактивное окно" и запустить код:
> 5 + 3
8
Это мило. Теперь, как я могу взаимодействовать с моими кодами - моими классами? Предположим, что проект открыт.
> new Cog()
(1,5): error CS0246: The type or namespace name 'Cog' could not be found (are you missing a using directive or an assembly reference?)
Ответы
Ответ 1
При использовании Visual Studio 2015:
Вы можете открыть окно "Интерактивное", перейдя по ссылке Виды > Другие ОС Windows > С# Interactive,
Затем просто щелкните правой кнопкой мыши проект и запустите Инициализировать интерактивный проект из контекстного меню.
Для более старых версий:
Чтобы использовать интерактивное окно С# с кодом, убедитесь, что вы сначала скомпилируете свой код, а затем добавьте ссылку на результирующую сборку с помощью команды #r
следующим образом:
![C# command prompt]()
Вы также можете использовать Immediate Window для взаимодействия с вашим кодом, например:
![Immediate Window]()
Ответ 2
Вы можете использовать классы из своего собственного проекта.
Просто щелкните правой кнопкой мыши на своем решении и выберите "Reset Интерактивный проект".
Если вам нужна дополнительная информация, вот источник:
Использование интерактивного окна С#, которое поставляется с Roslyn - Part 2
Ответ 3
Просто обновление из ответа @Botz3000.
Команда, которую вы хотите найти, теперь называется "Инициализировать интерактивный проект"
![введите описание изображения здесь]()
Также стоит отметить, что я не смог найти эту команду, если мое интерактивное окно С# не было видимым.
Ответ 4
Полностью согласен, что "Инициализировать Интерактив с Проектом" это круто.
Мой подход заключается в том, чтобы поместить классы в библиотеку и использовать
//css_reference в скрипте С# или #r в интерактивном окне С#
Например:
#r "D:\\dev\\DbHMonData\\LoadH2Stats\\bin\\Debug\\DbHMonStats.dll"
using DbHMonStats;
Ответ 5
Не забудьте изменить диапазон класса, имя открытого класса.
:)
Ответ 6
Стоит отметить, что эта функция еще не поддерживается в VS 2019 для проекта .Net Core.
Вы не найдете вариант, и это известная проблема, как выделено в этом ответе
'" инициализация интерактивной с помощью Project " отсутствует в .Net Core Projects в Visual Studio 2019'
Обходной путь - использовать команду #r (#r "Path/MyDll.dll"), чтобы загрузить сборку вручную, как показано в ответе выше.