Не удается отладить. NET Core: не удалось загрузить файл или сборку 'System.Runtime, версия = 4.2.1.0 / 4.2.0.0 - PullRequest
3 голосов
/ 25 февраля 2020

Это не вопрос. Просто хотел поделиться тем, как мне удалось окончательно отладить. net основные проекты в Visual Studio после ошибки в названии. Я перепробовал много предложений, но каждый раз, когда я пытался отладить основной проект. net - даже совершенно новую Azure функцию шаблона триггера HTTP (V2) - я получал ошибку, что System.Runtime Version = 4.2.1.0 пропал, отсутствует. Во-первых, я заметил, что новый проект ориентирован на стандарт. net. Я изменил его на ядро. net, поэтому мой файл .csproj выглядел так:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.13" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

Я попытался добавить

<PropertyGroup>
    <UseNETCoreGenerator>true</UseNETCoreGenerator>
</PropertyGroup>

и

<PackageReference Include="System.Runtime" Version="4.3.1" />

в файл .csproj, но это тоже не помогло.

Я даже пытался удалить VS 2017 и VS 2019 и все. net основные пакеты и переустановить их. Но все равно не повезло. Затем я пришел к выводу, что это связано с моей машиной - некоторые данные должны быть повреждены. Microsoft хранит данные для ядра. net в «скрытой» пользовательской папке% APPDATA%:

C:\Users\<USERNAME>\AppData\Local\AzureFunctionsTools\

Похоже, у меня не хватало достаточно данных. Около 300 МБ вместо ~ 700. Я предполагаю, что медленное соединение inte rnet, которое я получил в наших офисах, связано с этим.

Я нашел эту статью: https://github.com/Azure/azure-functions-host/issues/3759 soninaren, упоминает шаги, которые он сделал, и также предоставляет источник для неповрежденных шаблонов AzureFunctionsTools: https://github.com/soninaren/Workarounds/releases/download/1.0.0/AzureFunctionsTools.zip

Просто распакуйте, откройте каждый файл манифеста. json, который вы там найдете, и замените имя пользователя в теге TemplatesDirectory, чтобы он укажите вашу папку с именем пользователя. Затем удалите папку AzureFunctionsTools (C:\Users\<USERNAME>\AppData\Local\AzureFunctionsTools\) и вместо этого скопируйте отредактированный zip-контент.

Вуаля, вы сможете отлаживать. net основные проекты, и ваши новые функциональные проекты Azure будут изначально нацелены . net core.

Надеюсь, это поможет, Рон

1 Ответ

0 голосов
/ 25 февраля 2020

Спасибо Рону за его вклад. Чтобы другие могли быстро найти решение в SO при возникновении связанных проблем, я напишу здесь усилия Рона:

Если вы столкнулись с этой проблемой,

1, сначала покажите скрытые папки на вашем компьютере , Azure Функциональные инструменты находятся в этом каталоге: C:\Users\<USERNAME>\AppData\Local\AzureFunctionsTools\, удалите папку azure функциональных инструментов.

2, Во-вторых, нажмите эту ссылку , чтобы загрузить Azure Функциональные инструменты .

3, в-третьих, разархивируйте, затем откройте каждый файл манифеста. json. Замените имя пользователя в теге TemplatesDirectory. После этого скопируйте их в C:\Users\<USERNAME>\AppData\Local\AzureFunctionsTools

...