Возникли проблемы со сборкой
Здравствуйте Друзья,
В моей системе я установил несколько пакетов NuGet, когда я попытался скомпилировать, я получил сообщение об ошибке, как показано ниже:
- Тип "задача" существует в обеих системах.Продевать нитку, версия=1.0.2856.102, культуры=нейтральный, значения PublicKeyToken=31bf3856ad364e35 " и "mscorlib, версия=4.0.0.0, культуры=нейтральный, значения PublicKeyToken=b77a5c561934e089'
поэтому я удалил "систему.Threading" я установил через Nuget, то новое сообщение об ошибке выглядит следующим образом:
CS0012: система типа'.Нарезание резьбы.Задачи.Задача "1" определяется в сборке, на которую нет ссылок. Вы должны добавить ссылку на систему сборки.Потоковая передача, версия=1.0.2856.102, культура=нейтральная, PublicKeyToken=31bf3856ad364e35'.
До этого я работал на фреймворке 4.5, поэтому я обновился до 4.5.1 и изменил свой проект на 4.5.1, но ошибка все еще такая же, как и вторая ошибка.
Итак, как же мне решить эту проблему?
Ниже приведен код, над которым я работаю
var client = new HttpClient(); var values = new List<KeyValuePair<string, string>>(); values.Add(new KeyValuePair<string, string>("task", task)); values.Add(new KeyValuePair<string, string>("merchant", merchant_id)); values.Add(new KeyValuePair<string, string>("ref", id)); // include other fields var content = new FormUrlEncodedContent(values); System.Threading.Tasks.Task<httpresponsemessage> t = client.PostAsync("https://myepay.com/api/", content); t.Wait(); var response = t.Result;
Что я уже пробовал:
Я обновился до версии 4.5.1 и изменил свой проект на 4.5.1
Я отредактировал файл web.config из:
<system.web> <compilation debug="true" targetFramework="4.5.1"/>
К:
<system.web> <compilation debug="true" targetFramework="4.5.1"> <assemblies> <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
ОБНОВЛЕННЫЙ
Я попытался дальше решить эту проблему, я попробовал перенаправление ask предложил.ниже то, что я сделал:
Бывший
<runtime> <assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> </dependentAssembly></runtime>
Последний
<runtime> <assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Threading" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="4.0.30319.18402" newVersion="1.0.2856.102" /> </dependentAssembly> </assemblyBinding> </runtime>
тем не менее он дает ту же ошибку, что и:
CS0012: The type 'System.Threading.Tasks.Task`1' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Threading, Version=1.0.2856.102, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
И снова я установил NuGet "NuGet Package Management", и он пришел со многими зависимостями. может быть, это причина или что еще я сделал не так?
lw@zi
Похоже, что ваш пакет nuget ссылается на другую версию фреймворка. Tasks<> является частью mrcorlib, поэтому вам не нужно ссылаться на него явно.
Member 12652465
Пожалуйста, можете ли вы привести пример с образцом кода
lw@zi
Итак, вы получаете эту ошибку даже после удаления пакета Nuget? Какова целевая структура вашего проекта?
F-ES Sitecore
Похоже, что пакет nuget предназначен для более старой версии файла .net. Может быть, посмотреть, есть ли более современный вариант. Как уже упоминалось, вам не нужно никакой ссылки на систему.Таким образом, если что-то добавляет его, то это для более старой версии фреймворка.