Возможно, это неправильный ответ на ваш вопрос, но я столкнулся с чем-то похожим и хотел предоставить более подробную информацию.
Я не использую Visual Studio Professional.У меня есть AWS VS Toolkit для VS 2017, но, похоже, пункт контекстного меню проекта «Опубликовать в AWS» доступен только в VS 2019.
Я работал с проектом, созданным с помощью SAM CLIкоманда
sam init -r dotnetcore2.1 -o sam-runtime-dotnetcore21
... которая создает пример безсерверного проекта с файлами .sln и двумя файлами .csproj.Структура выглядит примерно так:
src/
HelloWorld/
HelloWorld.csproj
Program.cs
test/
HelloWorld.Test/
FunctionTest.cs
HelloWorld.Tests.csproj
Solution.sln
template.yaml
Если вы запустите следующую команду из корня проекта (тот же самый cwd, что и у файла Solution.sln и template.yaml), вы получите выходные данные из обоихпроекты src и test в одном пользовательском месте вывода, которое должно быть ./publish из корня проекта:
dotnet publish --output ../../publish
Чтобы получить выходные данные только из проекта src, исключая тестовый проект, вы можетезапустите ту же команду, например, так:
dotnet publish ./src/HelloWorld/HelloWorld.csproj --output ../../publish
Хотя я не проверял, я предполагаю, что инструментальное средство VS Pro 2019 просто собирает команды dotnet publish
и не предоставляет правильный аргумент csproj.Вы всегда можете просто запустить пользовательскую команду dotnet publish
для сборки, а затем указать точку входа кода функции в эту выходную папку при упаковке лямбда-кода функции в s3.