Я в процессе миграции своего решения из .NET Standard (для .NET Framework 4.7.1) в .NET Core (для netcoreapp2.1). Мое решение состоит из 12 проектов, два из которых являются проектами веб-API, которые должны выполняться одновременно.
Я изменил цели во всех моих решениях .csproj с "net471" на "netcoreapp2.1". В некоторых случаях мне также приходилось обновлять API в коде. До сих пор есть несколько предупреждений о возможной несовместимости пакетов.
Однако моя главная проблема - следующая ошибка:
Ошибка CS0017 В программе определено более одной точки входа. Скомпилируйте с / main, чтобы указать тип, содержащий точку входа. Foo.Api D: \ Code \ Product \ Foo \ src \ Foo.Api \ Program.cs 9 Active
Мое решение имеет два проекта запуска, так как оно состоит из двух API, которые связаны, но являются отдельными. Я не хочу указывать один в качестве основного, поскольку мне нужно, чтобы они оба запускались при запуске моего решения, и в .NET Framework это не было проблемой.
Возможно ли, чтобы эти проекты запускались вместе?
РЕДАКТИРОВАТЬ
Обратите внимание, что если я добавлю <StartupObject>Foo.Api.Program</StartupObject>
в один из моих проектов API , как описано здесь , я смогу успешно запустить этот проект. Я думаю, что это эквивалентно выполнению с / main. Однако я не могу заставить другой проект API запускаться таким же образом, вместо этого я могу dotnet run
запустить этот проект. Тем не менее, ошибка времени компиляции должна быть исправлена, чтобы она могла пройти через наш конвейер релиза.
В моем решении определенно есть только эти два метода Main, вот результаты поиска по void Main
: