Проект облачной службы Azure не совместим с проектом рабочей роли в новом формате .csproj - PullRequest
0 голосов
/ 04 ноября 2019

Мы пытаемся обновить существующий проект Azure Worker Role до версии .NET 4.7.2 и переназначить все зависимые проекты в нашем решении на .NET Standard 2.0 - это промежуточный шаг, поскольку мы работаем над устранениемWorker Role проект полностью и перейти на рабочую службу .NET Core 3.0, размещенную в контейнерах Docker.

Все файлы проекта (.csproj) в нашем решении были преобразованы в «новый» формат, и мы исключили packages.config, и все в порядке. Почти.

Единственное, что у нас остается, - это попытка создать проект облачной службы Azure (файл .ccproj, который создает упакованные файлы рабочих ролей для Azure). Попытка построить проект облачной службы приводит к ошибке в строке 1653 Microsoft.Common.CurrentVersion.targets:

Проект foo, цели net472. На него не может ссылаться проект, нацеленный на .NETFramework, Version=v4.0.

Мы довольно сильно озадачены. Я не нашел ссылок на эту конкретную ошибку, связанную с проектом рабочей роли в новом формате .csproj.

Я попытался оставить проект рабочей роли в "старом" формате файла проекта и нацеливанияэто в .NET 4.7.2, и проект Azure Cloud Service строится просто отлично - за исключением , что ссылки на пакеты NuGet из зависимых проектов .NET Standard в нашем решении не разрешены должным образом, а библиотеки DLL пакета NuGet - нет. распространился в папку вывода сборки - из того, что я прочитал, это связано с тем, что «новый» метод формата ссылок на пакеты NuGet несовместим со старым форматом packages.config. Мне пришлось прибегнуть к ручному добавлению одного пакета NuGet за один раз в проект Worker Role, поскольку во время выполнения появляются новые отсутствующие зависимости. Очевидно, что это не очень хорошее решение, когда в нашем проекте используется около 100 пакетов NuGet.

...