Я разрабатываю приложение, которое должно быть развернуто с помощью ClickOnce. После перехода с .NET 4.5 на .NET 4.0 и замены исправления неправильных ссылок теперь у меня проблема с пакетом развертывания. Некоторые файлы, а самое главное System.Net.Http.dll
не используются с приложением. Я сделал несколько проверок, но не могу понять, почему именно это происходит. Мое подозрение в том, что пакет создается с ожиданием того, что эта сборка уже существует на целевой машине. Это было бы разумно, если целевой средой был .NET 4.5, но не сейчас, это .NET 4. Странно, System.Net.Http.Extensions.dll
будет развернуто правильно.Развертывание System.Net.Http.dll с помощью ClickOnce
Настройки и номера версий одинаковы для обоих файлов:
Ссылаются на одном пакете:
<Reference Include="System.Net.Http, Version=2.2.13.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net40\System.Net.Http.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="System.Net.Http.Extensions, Version=2.2.13.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net40\System.Net.Http.Extensions.dll</HintPath>
</Reference>
Целевая платформа .NET 4 и условием развертывания также .NET 4 и обновление KB.
Файл даже не отображается в диалоговом окне Application Files:
Есть идеи? Я могу просто попытаться развернуть сборку как файл содержимого, если все остальное не удастся. Удаление и повторное добавление ссылки не помогло.
Я принимаю это из-за ссылки на нишу поддержки, хотя это не решило проблему для меня. Но, по крайней мере, это позволяет мне знать, что MS знает о проблеме. Я решил проблему для себя, создав сценарий powershell для создания развертывания, используя mage.exe. К сожалению, это не так просто, как должно быть. –
Могу ли я предположить, что System.Net.Http.Extensions.dll и System.Net.Http.Primitives.dll будут в GAC, если мои пользователи установили .NET 4.5.1? Или я должен распространять эти файлы с помощью моего установщика? – stuzor
Это три года спустя и в .Net 4.6.2 это все еще не исправлено. –