Построить ASP. NET Web Api в другой выходной каталог - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть ASP. NET проект веб-API, API имеет много зависимостей от других библиотек, поэтому мы поместили все библиотеки в указанную c папку. Если я указываю выходной путь веб-API в этот выходной каталог и выполняю в IIS Express, это выдает следующую ошибку

Сообщение об ошибке синтаксического анализатора: Тип поставщика CodeDom "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft .CodeDom. а не моя выходная папка. Но в папке вывода есть файл web.config. Как я могу заставить веб-приложение запускаться из выходной папки, используя IIS Express

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

не используйте IIS express для разработки, вместо этого используйте правильный IIS. Таким образом, вы решите все производственные проблемы с самого начала.

Независимо от того, имеет ли ваш API много зависимостей dll или нет, это не имеет значения. API должен знать, откуда их взять, и я бы не стал менять поведение по умолчанию. Они будут находиться в папке bin, как и все другие зависимости, при создании проекта.

Чтобы развернуть API даже в локальной среде, используйте метод Publi sh в локальной папке, а затем создайте IIS приложение, указывающее на эту папку.

Это все, что вам нужно сделать, так зачем все усложнять? Вы все еще можете опубликовать sh в режиме отладки, вы все равно можете подключить к нему вашу Visual Studio и правильно отладить. В буквальном смысле нет нужды бороться со стандартным способом ведения дел.

0 голосов
/ 14 февраля 2020

Не рекомендуется рекомендовать для изменения каталога вывода приложения asp. net из-за ограничений безопасности IIS.

Однако вы все равно можете взломать его, Как правильно изменить конфигурационные файлы, см. здесь

Согласно статье MSDN , при компиляции веб-приложения скомпилированный код помещается в Temporary ASP . NET Папка с файлами

Чтобы найти эту временную ASP. NET Папку с файлами, проверьте мой пост здесь

...