Описание Программа не содержит статический метод «Главная», подходящий для точки входа [дубликат]

Я видел эту ошибку unexpected token o, потому что мой (неполный) код выполнялся ранее (live reload!) и задал для указанного ключевого значения локального хранилища значение [object Object] вместо {}. Только когда я сменил ключи, все началось, как и ожидалось. В качестве альтернативы вы можете выполнить эти инструкции, чтобы удалить неверно установленное значение localStorage .

0
задан hsop 12 October 2016 в 21:11
поделиться

2 ответа

Это говорит, что ответ лежит вне кода и не связан с msbuild, но для понимания того, что мне пришлось пройти еще несколько шагов. Основываясь на комментарии @Tseng, я добавил основной метод для запуска:

// Entry point for the application.
public static void Main(string[] args)
{
    var host = new WebHostBuilder()
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseIISIntegration()
        .UseKestrel()
        .UseStartup<Startup>()
        .Build();

    host.Run();
}

Но тогда я не мог построить проект на своей машине:

C:\test\path\SomeWebAPI\Program.cs(8,28): error CS0017: Program has more 
than one entry point defined. Compile with /main to specify the type that 
contains the entry point. [C:\test\path\SomeWebAPI\SomeWebAPI.xproj]

That указала Program.cs с почти точной копией основного метода выше. По-видимому, шаблон проекта, который я использовал пару месяцев назад, поставил основной метод в классе программы. Очевидно, @Tseng прав, и я ошибся. К сожалению, это вернуло мне исходный вопрос. Почему проект строился на «моей машине», но не на нашем сервере сборки? Очевидный ответ «Отсутствует метод« Main »» на самом деле прав, учитывая, что по какой-то причине файл Program.cs не был извлечен из исходного кода TeamCity. Чистая проверка в TeamCity решила проблему.

0
ответ дан hsop 19 August 2018 в 15:43
поделиться

Вы использовали msbuild из командной строки MSBuild для VS2015?

Если это так, переменные среды на вашем сервере сборки могут нуждаться в некоторой конфигурации.

Команда MSBuild Prompt использует эту командную строку (% comspec% / k "" C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ Tools \ VsMSBuildCmd.bat "" ) для инициализации среды.

Вам может потребоваться подготовить среду командной строки на сервере сборки, чтобы получить тот же результат.

0
ответ дан Dan Miranda 19 August 2018 в 15:43
поделиться
  • 1
    Я использую обычную командную строку Windows на обеих машинах. – hsop 12 October 2016 в 20:20
Другие вопросы по тегам:

Похожие вопросы: