Проблемы Nuget с Azure Функция 1.x и VS17 - PullRequest
0 голосов
/ 25 апреля 2020

У меня возникли некоторые проблемы с моим проектом, я не знаю, где именно он пошел не так, но теперь мой проект Azure Function 1.x не собирается. Очень важно, чтобы я его снова строил: - /.

Это проект. NET Framework 4.6.2 с Microsoft. NET .Sdk.Functions 1.0.35 (последняя версия до 2.x).

У меня есть пара попыток, которые он, похоже, не может найти, и сама функция имеет такую ​​ошибку:

Error   CS0246  The type or namespace name 'FunctionNameAttribute' could not be found (are you missing a using directive or an assembly reference?)

Так что у моего [FunctionName] есть красные волнистые линии и Я не понимаю, почему, это должно быть в Microsoft. NET .Sdk.Functions? Я пытался очистить и перестроить проект.

Я пытался переустановить свои пакеты командой Update-Package -reinstall -Project MyVeryCriticalProject

PM> Update-Package -reinstall -Project MyVeryCriticalProject
No package updates are available from the current package source for project 'MyVeryCriticalProject'.
Executing nuget actions took 0 ms
Time Elapsed: 00:00:10.4211309

Он также жалуется на отсутствие пространства имен:

enter image description here

Но в моем файле csproj они включены, поскольку я установил их в nuget:

  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.WebJobs" Version="2.3.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Core" Version="2.3.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="2.2.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.ServiceBus" Version="2.2.0" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.35" />

У меня установлен VS2019, и я собираюсь переместите этот проект в Azure Функции 3.x и. NET Core, но сейчас мне нужно это для компиляции: - / Любая подсказка?

Редактировать: с VS17 У меня только новая функция 1 .x проекта и прямо из get- go его недостающий материал:

enter image description here

У меня есть. NET Framework 4.6.2 установлен, и просто переустановил его.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Nuget проблемы с Azure Функция 1.x и VS17

Я думаю, что-то сломалось в вашей среде VS2017.

И на моей стороне, когда Я создал Azure Функция проект с Azure Function v1, он работает хорошо без каких-либо ошибок сборки. Поэтому я предлагаю вам попробовать следующие предложения:

Примечание : Update-Package -reinstall -Project MyVeryCriticalProject не поддерживает PackageReference формат nuget.

1) убедитесь, что VS2017 установил Azure рабочую нагрузку разработки с этими дополнительными инструментами (в правой части).

enter image description here

2 ) измените свой узел itemgroup xml и сохраните уникальный пакет nuget Microsoft.NET.Sdk.Functions и удалите остальные, которые являются зависимостями Microsoft.NET.Sdk.Functions. Например:

<ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.35" />
</ItemGroup>

Затем попробуйте удалить пакет Microsoft.NET.Sdk.Functions nuget в пользовательском интерфейсе управления пакетами Nuget, а затем переустановить его.

3) Затем нажмите Restore Nuget Packages щелкните правой кнопкой мыши свое решение

4) отключите все сторонние расширения в Tools -> Updates and Extensions в случае, если некоторые расширения вызывают такое поведение. Из вашего редактора кода я обнаружил, что вы использовали некоторые расширения, такие как Resharper.

5) закрыть VS Instance, удалить скрытую папку .vs (скрытую папку, которая находится в том же каталоге, что и xxx.sln), папку bin, obj и затем снова запустите ваш проект.

6) восстановить VS в VS Installer

Кроме того , вы можете попробовать создайте новую функцию Azure в VS2017, чтобы проверить, является ли это проблемой вашего собственного текущего проекта.

0 голосов
/ 26 апреля 2020

Достаточно просто установить пакет Microsoft. NET .Sdk.Functions. Из вашего сообщения об ошибке проблема заключается в пакете Microsoft. NET .Sdk.Functions. Кажется, что сборка программного пакета не удалась. Убедитесь, что вы используете последнюю версию инструмента управления пакетами nuget.

...