Как да препратка към System.Net.Http в WP8?

Аз съм сравнително нов в разработката на WP8 и се натъкнах на проблем, който просто не мога да разбера, дори след часове гугъл.

Използвам визуално студио 2012 и внедрих System.Net.Http с помощта на NuGet, проверих референциите, локалното копиране е настроено на true, но няма да се изгражда.

Това е съобщението за грешка, което ме посреща:

CA0001  Error Running Code Analysis CA0001 : The following error was encountered while reading module '3D Protect Premium': Could not resolve member reference: [System.Net.Http, Version=1.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]System.Net.Http.HttpClient::PostAsync.  [Errors and Warnings]   (Global)

Как да поправя това, така че посочената версия да е правилна??

Редактиране

Кодът е добавен по-долу. Това не изглежда да е проблематично, това е само препращането - мисля, че това е моето недоразумение, за да бъда честен, просто нямам представа какво се случва със сборката System.Net.Http!!

//Creates a new HttpClient Instance
            var client = new HttpClient();

            // This is the postdata
            // Data forms an array and is used to populate the remote MySQL DB
            var postData = new List<KeyValuePair<string, string>>();
            postData.Add(new KeyValuePair<string, string>("name", "windowsphonetest"));
            postData.Add(new KeyValuePair<string, string>("latitude", LatitudeString));
            postData.Add(new KeyValuePair<string, string>("longitude ", LongitudeString));
            postData.Add(new KeyValuePair<string, string>("devID", "test"));


            HttpContent content = new FormUrlEncodedContent(postData);

            //The actual HTTP Transaction
            client.PostAsync("http://blah.com", content).ContinueWith(
                (postTask) =>
                {
                    postTask.Result.EnsureSuccessStatusCode();
                });

person anthonyhumphreys    schedule 30.06.2013    source източник


Отговори (2)


Пакетът System.Net.Http, който се опитвате да използвате, е отхвърлен, но можете да използвате Microsoft.Net.Http вместо това.

person keyboardP    schedule 30.06.2013
comment
Ааа страхотно, благодаря ти. Сега въпреки че пише, че Net не съществува в пространството на имената на Microsoft? - person anthonyhumphreys; 30.06.2013
comment

Разбрах го. размерът на рамката беше напълно объркан, защото настроих играта си да работи само в пейзаж. решение: инициализирайте сцената във viewDidLayoutSubviews вместо viewDidLoad

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];

    // Configure the view.
    SKView * skView = (SKView *)self.view;
    skView.showsFPS = YES;
    skView.showsNodeCount = YES;

    // Create and configure the scene.
    SKScene * scene = [Level sceneWithSize:skView.bounds.size];
    scene.scaleMode = SKSceneScaleModeAspectFill;

    // Present the scene.
    [skView presentScene:scene];
}
- person keyboardP; 30.06.2013
comment
И така, как да го реферирам? Все още получавам горната грешка, когато използвам пакета Microsoft.Net.Http. Благодаря за вашата помощ - person anthonyhumphreys; 30.06.2013
comment
благодаря, проверих зависимостите и това изглежда помогна до известна степен (различно съобщение за грешка), но това, което изглеждаше като лекарство, беше добавянето на обвързващо пренасочване. Моят сървър вече показва, че данните се изпращат от моя телефон. Това ме подлуди... Благодаря ви много за помощта. - person anthonyhumphreys; 01.07.2013
comment
Няма за какво :) Може да си струва да публикувате решението си като отговор и след това да го приемете след няколко дни. - person keyboardP; 01.07.2013
comment
Добре, внезапно спря да играе добре и няма да се изгражда. Ще полудея тук. Препоръчах всичко и просто не мога да разбера проблема... наистина бих оценил всяка помощ, която можете да предложите. - person anthonyhumphreys; 01.07.2013
comment
Самият аз не съм го използвал, купете с удоволствие ще опитам да помогна. Получавате ли същото съобщение за грешка? Възможно ли е да публикувате кода HttpClient (със скрит адрес на местоназначение, ако е необходимо) в първоначалния ви въпрос, за да мога да го изпробвам на моята машина? - person keyboardP; 01.07.2013
comment
Благодаря ви много. Както казах, това е нова платформа за мен и някои неща се оказват доста неуловими. Доста бързо се справих с нещата, но това ме дразни! - person anthonyhumphreys; 01.07.2013
comment
Не съм сигурен дали това е добро или лошо, но кодът ви работи добре за мен :) Създадох нов WP8 проект, добавих препратка към Microsoft.Net.Http (чрез мениджъра на пакети NuGet във VS), поставих вашия код и получавам отговор без грешки. Добавихте ли пакета чрез мениджъра на NuGet? - person keyboardP; 01.07.2013
comment
Направих го, но когато отида да компилирам, получавам грешка от „анализ на код“, който ми казва, че не може да разреши сборката System.Net.Http. Благодаря ви, че опитахте! Странно, IntelliSense предлага пространството от имена .Http, така че със сигурност разпознава присъствието му... много объркано! - person anthonyhumphreys; 01.07.2013
comment
Няма проблем :) Това не е отговор, но бихте ли могли да се измъкнете с директно използване на Webclient или HttpWebRequest или се изисква HttpClient? - person keyboardP; 01.07.2013
comment
Добре – проблемът изглежда е в самия инструмент за анализ на код – деактивирането на анализа на кода при компилация коригира проблема. Проектът се изгражда добре и работи добре на моя телефон (Lumia 920). Благодаря за цялата ви помощ - person anthonyhumphreys; 01.07.2013
comment
Няма за какво, радвам се, че работи! :) Не знам защо инструментът не е съвместим с тази версия, но поне има заобиколно решение. - person keyboardP; 01.07.2013
comment
Наистина много странно, най-вероятно мое дело, но се надявам да се справя и без него!! Благодаря ви за цялата ви помощ. Този уебсайт ме кара да искам да разработя услуга за електронна бира... - person anthonyhumphreys; 01.07.2013
comment
Радвам се да помогна! Бих могъл да разменя повторения за бира, въпреки че предвиждам качеството на отговорите да се влошава с нарастването на репутацията :D - person keyboardP; 01.07.2013

Решение: Изтрийте всички зависими NuGet пакети, решение за почистване, изтриване на препратки към сборки System.Net.*.

Инсталирайте Microsoft.Net.Http и неговите зависимости, както е предложено от NuGet. След това инсталирайте Microsoft.Bcl.Async - това е зависимост, която не е маркирана от NuGet (благодаря keyboardP)

Сега влезте в свойствата на проекта и деактивирайте „Анализ на кода при изграждане“ - този инструмент се спъва в номера на версията по някаква причина. Сега кодът се изгражда и внедрява добре.

person anthonyhumphreys    schedule 30.06.2013