Какие шаги мне следует предпринять для сборки и запуска. net базовое приложение веб-API в 32-битной среде / среде выполнения?
Это своего рода продолжение предыдущего вопроса публикация, которую я разместил.
Мы разработали приложение. NET Core Web API, используя следующие технологии:
- NET Core (3.1)
-Visual Studio 2019
К сожалению, мы должны развернуть указанное приложение в следующей среде:
-32-битная среда
- Windows Server 2008 R2 Enterprise (Service Pack 1 )
-IIS Version 7.5
-8 ГБ ОЗУ
(Кроме того, он должен быть в процессе, потому что нам нужен только. NET Приложение Core Web API должно находиться на сервере IIS) *
На моем компьютере разработки, на котором используется Visual Studio 2019, я установил Net Core 3.1 x86 версию sdk (т.е. NET Core 32 -Bit version)
Кроме того, в переменной Path переменной среды Windows 10 я убедился, что путь к каталогу. NET Core 32-разрядной версии указан над. NET Путь к каталогу 64-разрядной версии Core:
Следовательно в моей Visual Studio 2019 я открыл приложение. Кроме того, в разделе свойств раздела веб-приложения. NET Core Web Api я удостоверился, что выбрал значения параметров x86: принудительно переведите x86 в VS go в Свойства> Сборка и измените целевую платформу с любого процессора на x86.
, а также для раздела отладки, у меня есть:
Кроме того, в Visual Studio 2019 Enterprises ---> Инструменты (в главном меню) Мы сняли флажок «Использовать 64-разрядную версию IIS Express для веб-сайтов и проектов»
Файл приложения blabhblah.csproj имеет следующие настройки:
< Project Sdk="Microsoft.NET.Sdk.Web" >
< PropertyGroup >
< TargetFramework >netcoreapp3.1 < /TargetFramework >
< AspNetCoreHostingModel > InProcess < /AspNetCoreHostingModel >
< PlatformTarget > x86 < /PlatformTarget >
< /PropertyGroup >
< PropertyGroup Condition="'$(MSBuildRuntimeType)' == 'Core'" >
< GenerateResourceMSBuildArchitecture > CurrentArchitecture < /GenerateResourceMSBuildArchitecture >
< GenerateResourceMSBuildRuntime > CurrentRuntime < /GenerateResourceMSBuildRuntime >
< /PropertyGroup >……………..
< ItemGroup >
< PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.7" / >
< PackageReference Include="Microsoft.Data.SqlClient" Version="1.1.3" / >
< PackageReference Include="Swashbuckle.AspNetCore" Version="5.4.1" / >
< PackageReference Include="Swashbuckle.Core" Version="5.6.0" / >
< /ItemGroup >
Кроме того, я создал файл Directory.Build.targets в каталоге root веб-приложение:
< Project >
< PropertyGroup
Condition="'$(OS)' == 'Windows_NT' and
'$(PlatformTarget)' == 'x86' and
'$(TargetFrameworkIdentifier)' == '.NETCoreApp' and
'$(SelfContained)' != 'true'"
>
< RunCommand >$(MSBuildProgramFiles32)\dotnet\dotnet< /RunCommand >
< /PropertyGroup >
< /Project >
Однако, когда я запускаю приложение, я получаю следующую ошибку:
Ошибка HTTP 500.31 - ANCM не удалось найти Собственные зависимости Общие решения этой проблемы: указанная версия Microsoft.NetCore.App или Micr osoft.AspNetCore.App не найден. Специфическая c ошибка, обнаруженная ANCM: не удалось выполнить, поскольку указанная команда или файл не были найдены. Возможные причины: * Вы неправильно написали встроенную команду do tnet. * Вы намеревались выполнить программу. NET Core, но tnet -% LAUNCHER_ARGS% не существует. * Вы намеревались запустить глобальный инструмент, но исполняемый файл с префиксом do tnet с таким именем не может быть найден в PATH. Шаги по устранению неполадок: проверьте журнал системных событий на наличие сообщений об ошибках. Включите регистрацию сообщений стандартного вывода процесса приложения. Присоедините отладчик к процессу приложения и проверьте. Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?LinkID=2028526
Может ли кто-нибудь помочь мне определить, как восстановить вышеупомянутую ошибку «do tnet»? Есть ли какие-либо другие изменения в настройках / конфигурациях, которые мне нужно внести?