Categoria Arkistot: SharePoint-kehitys

HTTP 406 Virhe käytettäessä kulmikas $http.get vastaan SharePoint loput loppupisteet

Päivitys: Marc AD ndersson huomautti, tämä suuri pala info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. Tämä selittää paljon :).

Se voi olla pahin otsikko blogi koskaan! Anyhoo.

En yleensä kaikki minun prototyyppien vastaan O365-esiintymä. Minulla on minun henkilökohtainen tapauksessa, jotta ei tarvitse olla huolissaan vaikuttaa joku muu. Sivuhuomautuksena-muistettava, kun kehotamme kuljettaa ympäri virtuaalikoneita meidän läppäreissä MOSS – SQL Server, IIS, päättää Hyper-V vs. VMWare? Anyhoo...

Olin kehittänyt app avulla kulmikas tässä ympäristössä, joka tekee, muun muassa, Tämä:

$http.Get(serverUrl)
.menestys(funktio(tiedot, tila, otsikot, config) {

var getLinksResponse = data;

getLinksResponse.value.forEach(funktio(tulokset toimijalle) {

// ja niin edelleen ja niin Vaahdota

Tämä toimi hienosti kahdessa eri SharePoint online ympäristöissä. Kuitenkin, Kun kollegani ennustaa sen Cloudshare esiintymä, Hän oli tulossa HTTP 406 Virhe (mikä oli ensimmäistä kertaa olen koskaan saanut tuosta, joten... jee, Arvaan). Teimme vähän tutkimusta ja huomasin, että "Hyväksy"-otsikon oli pois. SharePoint Onlinessa on täysin tyytyväinen:

Hyväksy: sovellus/json

Mutta cloudshare esiintymä (Mikä on SP prem, isännöi vuonna virtuaalinen palvelin) Ostetaan klassikko "odata = verbose" lisätään myös:

Hyväksy: sovellus/json;OData = verbose

Vahvistaa, että, Lisäsimme otsikon sellaisenaan:

var config = {otsikot: {
"Salli": "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.menestys(funktio(tiedot, tila, otsikot, config) {

var getLinksResponse = data;

getLinksResponse.value.forEach(funktio(tulokset toimijalle) {

// ja niin edelleen ja niin Vaahdota

Että pääsi eroon 406, mutta myös muuttaa vastauksen muoto. Se oli enemmän... verbose. (haha!) Lisää muutoksia ja tässä on lopputulos:

var config = {otsikot: {
"Salli": "application/json;OData = verbose "
}
};

$http.Get(serverUrl,config)
.menestys(funktio(tiedot, tila, otsikot, config) {

var getLinksResponse = data;

getLinksResponse.d.Results.forEach(funktio(tulokset toimijalle) {

// ja niin edelleen ja niin Vaahdota

Tämä vain tuli 30 meille hetken ongelma, joten meidän lucked. Toivottavasti joku pitää tätä hyödyllisenä.

</loppu>

Kasvava tietoisuus / Hyväksyminen JavaScript puitteet

Kollegani, Vesa Anttila (http://www.bigapplesharepoint.com/team?showExpertName=Javed%20Ansari&rsource=pgblog), kirjoitti lyhyt yhteenveto blogi puitteissa hän haluaa tai ainakin on käyttänyt SharePoint: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=53&rsource=PGBlog).

jQuery on ilmeisesti victor kentällä, niin sanotusti, vuoden ajan, mutta toiset ovat enemmän uusia ja still tavallaan taistelee sen, kuten kulmikas. (SPServices, Tietysti, on elämän säästäjä vuosia ja on edelleen niin mielestäni).

Mitä ihmiset käyttävät? Ne keskittyvät enemmän Microsoftin työkalut (CSOM / JSOM) tai siirtymässä enemmän kohti kulmikas, Pudotuspelit, Hiillos, jne?

Olen yhä bias kohti näitä muita kuin Microsoftin järjestelmiä. Mielestäni MSFT tavaraa on vaikeampi työskennellä, vaatii lähes yhtä paljon oppimiskäyrä kuin vanhan palvelimen dev.

Kommentoida täällä tai haltuunsa Big Apple SharePoint Jos haluat keskustella (Big Apple on enemmän todennäköistä hyvä keskustelu).

</loppu>

Spinning SharePoint-ajastinpalvelun työt sivuston kokoelma määritykset

Kollegani, Ashish Patel, kirjoittanut blogi kuvataan joustava ajastin työ arkkitehtuuri joka tarjoaa mukava joustavuuden tukea pitkään tehtäviä ja/tai raportit.  Hänen sanojensa:

1. Analysoimalla kuitattu ulos tiedostoja ja lähettää muistutuksia henkilöille, jos päivän (koska tiedosto kuitattiin ulos) ylittävät tietyt kynnysarvot

2. Poistaa linkit muun sisällön kun tietyn sisällön poistetaan tai arkistoidaan järjestelmästä

3. Käyttäjä haluaa nähdä kaikki ilmoitukset, jotka hän tilannut sivustokokoelman kaikissa sivustoissa

4. Lähettämällä muistutuksia tekijöille tarkastelemaan sisältöä, kun tarkastelun aikana määritettiin sisällöstä ja siitä päivä lähestyy

Hyvin, lista jatkuu...

– Katso lisää: http://www.bigapplesharepoint.com/ sivut/View--Insight.aspx?BlogID=40#sthash.7cKuiwly.dpuf

On aikoja minun ohi kun ottaa jotain tällaista olisi ollut erittäin hyödyllistä.

</loppu>

Miten tehdään: Määritä yksikkö testi ja testin kattavuus QUnit.js ja Blanket.js toimisto 365 SharePoint App

Intro

Tutkineet yksikön testaus ja testata kattavuus ohjelman kuten olen työtä uusi SharePoint-app SharePoint Onlinessa toimistossa 365 Sviitti.  Ilmeinen tutkimus polkuja sai minut Qunit.js ja sen jälkeen, - Blanket.js.

QUnit haluan perustaa yksikkö testit ja ryhmittele ne moduulit.  Moduuli on yksinkertainen tapa järjestää liittyvät testit. (En ole varma, olen käyttänyt sitä tarkoitetulla tavalla, mutta se toimi minulle toistaiseksi pieni joukko tähän mennessä määritellyt).

Blanket.js integroituu Qunit ja se näyttää minulle todellinen riviä JavaScript, jotka olivat – ja mikä tärkeintä-ei itse asiassa suoritettu aikana testit.  Tämä on "kattavuus"-linjat, jotka suorittaa katetaan testi, toiset taas eivät.

Välillä perustaa hyvä testitapaukset kattavuus, voimme vähentää riskejä meidän koodi on piilotettu vikoja.  Hyvinä aikoina.

Qunit

Olettaen sinulla on Visual Studio project määrittää, Aloita lataamalla ohjelman Paketti http://qunitjs.com.  Lisää JavaScript- ja vastaavia CSS ratkaisusi.  Mine näyttää tältä:

image

Kuva 1

Kuten näette, Käytin 1.13.0 silloin kirjoitin tämä blogi. Älä unohda ladata ja lisätä CSS-tiedosto.

Että pois tieltä, Seuraava askel on luoda jonkinlainen testi valjaat ja viitata Qunit-bittiä.  Olen testaus joukko toimintoja kutsutaan "QuizUtil.js", joten olen luonut HTML sivu nimeltä "QuizUtil_test.html" kuten komentosarjatiedoston:

image Kuva 2

Tässä on koodi:

<!DOCTYPE HTML>
<HTML xmlns"http =://www.w3.org/ 1999/xhtml">
<pää>
    <otsikko>QuizUtil testi Qunit</otsikko>
    <linkki rel= "stylesheet" href="../CSS/qunit-1.13.0.CSS" />
    <Script tyyppi= text/javascript"" src="QuizUtil.js" tietoja-kansi></Script>
    <komentosarjan tyyppi ="text/javascript" src ="qunit-1.13.0.js"></Script>
    <komentosarjan tyyppi ="text/javascript" src ="blanket.min.js"></Script>

    <Script>
        moduuli("getIDFromLookup");
        testi("QuizUtil getIDFromLookupField", funktio () {
            var goodValue = "1;#Paul Galvin";

            yhtä suuri(getIDFromLookupField(goodValue) + 1, 2), "Tunnus [" + goodValue + "] + 1 olisi 2";
            yhtä suuri(getIDFromLookupField(ei määritetty), ei määritetty, "Määrittämätön syöteargumentin tulisi palauttaa tulos.");
            yhtä suuri(getIDFromLookupField(""), ei määritetty, "Tyhjä syöteargumentin tulisi palauttaa Määrittämätön arvo.");
            yhtä suuri(getIDFromLookupField("gobbledigood3-thq;dkvn ada;skfja sdjfbvubvqrubqer0873407t534piutheqw;VN"), ei määritetty,"Olisi aina palata tulos convertible kokonaisluku");
            yhtä suuri(getIDFromLookupField("2;#jonkun toisen henkilön"), "2", "Tarkistaminen [2;#jonkun toisen henkilön].");
            yhtä suuri(getIDFromLookupField("9834524;#Long-arvo"), "9834524", "Suuri arvo testi.");
            notEqual(getIDFromLookupField("5;#Kuka tahansa", 6), 6, "Testaus notEqual (5 ei vastaa 6 Tässä esimerkissä: [5;#Kuka tahansa]");

        });

        moduuli("htmlEscape");
        testi("QuizUtil htmlEscape()", funktio () {
            yhtä suuri(htmlEscape("<"), "&lt;", "Paeta vähemmän kuin-operaattori ('<')");
            yhtä suuri(htmlEscape("<div class =  "someclass">Tekstiä</div>"), "&lt;div class =&quot;someclass&quot;&gt;Tekstiä&lt;/div&gt;", "Monimutkaisempi merkkijono.");
        });

        moduuli("getDateAsCaml");
        testi("QuizUtil getDateAsCaml()", funktio () {
            yhtä suuri(getDateAsCaml(Uusi Päivämäärä("12/31/2013")), "2013-12-31T:00:00:00", "Testaus kova koodattu päivämäärä: [12/31/2013]");
            yhtä suuri(getDateAsCaml(Uusi Päivämäärä("01/05/2014")), "2014-01-05T:00:00:00", "Testaus kova koodattu päivämäärä: [01/05/2014]");
            yhtä suuri(getDateAsCaml(Uusi Päivämäärä("01/31/2014")), "2014-01-31T:00:00:00", "Testaus kova koodattu päivämäärä: [01/31/2014]");
            yhtä suuri(getTodayAsCaml(), getDateAsCaml(Uusi Päivämäärä()), "getTodayAsCaml() olisi sama getDateAsCaml(Uusi päivämäärä())");
            yhtä suuri(getDateAsCaml("hölynpölyä arvo"), ei määritetty, "Yritä saada päivämäärä hölynpölyä arvo.");
            yhtä suuri(getDateAsCaml(ei määritetty), ei määritetty, "Yritä saada päivämäärä [ei määritetty] päivämäärä.");
        });

        moduuli("getParameterByName");
        testi("QuizUtil getParameterByName (kyselyn merkkijonosta)", funktio () {
            yhtä suuri(getParameterByName(ei määritetty), ei määritetty, "Yritä saada määrittelemättömän parametrin tulee palauttaa undefined.");
            yhtä suuri(getParameterByName("ei ole olemassa"), ei määritetty, "Yritä saada parametrin arvon, kun tiedämme –parametria ei ole.");

        });

        moduuli("Evästeet");
        testi("QuizUtil eri evästeen toimintoja.", funktio () {
            yhtä suuri(setCookie("test", "1", -1), getCookieValue("test"), "Get asettaa evästeen pitäisi toimia.");
            yhtä suuri(setCookie("anycookie", "1", -1), tosi, "Asettaminen voimassa ruoanlaitto tulisi palauttaa"totta".");
            yhtä suuri(setCookie("hullu evästenimi !@#$%"%\^&*(()?/><.,", "1", -1), tosi, "Asettaminen huono evästenimi tulisi palauttaa"väärä".");
            yhtä suuri(setCookie(ei määritetty, "1", -1), ei määritetty, "Ohimennen epämääräinen kuin evästenimi.");
            yhtä suuri(getCookieValue("ei ole olemassa"), "", "Eväste ei ole testi.");
        });

    </Script>
</pää>
<kehon>
    <div tunnus= "qunit"></div>
    <div tunnus= "qunit-valaisin"></div>

</kehon>
</HTML>

On useita asioita tapahtuu täällä:

  1. Vertailemalla minun koodi (QuizUtil.js)
  2. Vertailemalla Qunity.js
  3. Osien tarkentaminen (getIDFromLookup, Evästeet, ym.)
  4. Saattaminen <div> jonka tunnus on "qunit".

Sitten, Vedän vain tämän sivun ja saat jotain tällaista:

image

Kuva 3

Jos katsot yläosassa, sinulla on muutamia vaihtoehtoja, joista kaksi mielenkiintoista:

  • Piilota läpäissyt testit: Selvältä.  Auttaa silmään vain nähdä ongelma-alueet ja ei paljon sotkua.
  • Moduuli: (pudota alas): Tämä suodattaa alas vain näiden ryhmien haluamasi testit testit.

Mitä testit itse-huomautuksia:

  • On sanomattakin selvää, että sinun täytyy kirjoittaa koodia niin, että se on testattavissa ensimmäinen paikka.  Työkalulla voi auttaa valvoa tätä kurinalaisuus. Esimerkiksi, Minulla oli toiminto nimeltä "getTodayAsCaml()”.  Tämä ei ole hyvin todentaa, koska ei ole syöteargumentin ja testata sitä tasa-arvoa, Meidän on jatkuvasti päivittää testi koodi vastaamaan nykyistä päivämäärää.  Refactored lisäämällä tietojen syöttöparametri sitten kulkee kun haluan päivästä CAML muodossa päivämäärä.
  • Qunit puitteet asiakirjat omat testit ja se näyttää melko vankka.  Se voi tehdä yksinkertaisia asioita, kuten testaus tasa-arvoa ja on myös tukea ajax tyyli vaatii ("oikeaa" tai pilkkasivat käyttämällä suosikki Mockeria).
  • Menossa läpi myös pakottaa ajattelemaan kautta edge tapauksissa – mitä tapahtuu "Määrittämätön" tai tulee toimia välitettiin Null-arvo.  Siinä on kuollut yksinkertainen testata näitä skenaarioita ulos.  Hyvää kamaa.

Kattavuus Blanket.js

Blanket.js täydentää Qunit seuraamalla todellinen riviä koodia, joka suoritetaan aikana näkyä testeissä.  Se yhdistää oikea Qunit joten vaikka se on koko erillinen app, sillä kauniisti-se todella näyttää se on saumaton app.

Tämä on blanket.js toiminnassa:

image Kuva 4

image

Kuva 5

(On todellakin yläreunassa olevaa "Ota kattavuus"-valintaruutua [Katso kuva 3] jotta mahdollistaa nyt kuluva.)

Kuvassa korostettuna rivit 5 ei ole suoritettu mitään minun testit, joten minun täytyy suunnitella testi, joka aiheuttaa ne suoritetaan jos haluan Täysi kattavuus.

Saada blanket.js toimi seuraavasti:

  1. Lataa se http://blanketjs.org/.
  2. Lisääminen projektiin
  3. Päivitä testi valjaat sivu (QuizUtil_test.html minun tapauksessani) Seuraava:
    1. Viite koodi
    2. Sisustaa oman <Script> viittaus näin:
    <Script tyyppi= text/javascript"" src="QuizUtil.js" tietoja-kansi></Script>

Blanket.js poimii "data-cover" määritteen ja ei sen taika.  Se koukut osaksi Qunit, päivittää UI lisätä "Salli kattavuus" vaihtoehto ja voila!

Yhteenveto (TL; DR)

Kirjoittaa testi tapauksissa Qunit avulla.

  • Lataa se
  • Lisääminen projektiin
  • Kirjoittaa testi valjaat sivu
  • Luo testit
    • Refactor koodi voidaan todentaa
    • Olla luova!  Crazy ajatella, mahdotonta skenaarioita ja testata niitä joka tapauksessa.

Blanket.js avulla voidaan kattaa

  • Varmista Qunit toimii
  • Lataa blanket.js ja lisääminen projektiin
  • Lisääminen testisivulle valjaat:
    • Lisätään viittaus blanket.js
    • Lisää "tiedot-cover"-määritteen sinun <Script> Tag
  • Qunit testit.

Ei koskaan ollut mitään vastaavaa ja oli alkeellinen juttuja työskentelevien kourallinen tunteja. 

Happy testaus!

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Lists.asmx, GetList ja "arvo ei voi olla null”

Sain tänään, GetList() menetelmä lists.asmx verkkopalvelu on nimeltään huolellisesti tai on altis heittää salaperäinen "Arvo ei voi olla null-arvoinen" poikkeus (ja joka on korostunut, voit saada jopa huonompi yleinen virhesanoma aiemmat, "-Tyypin poikkeus" Microsoft.SharePoint.SoapServer.SoapServerException’ palautettiin.")  Erityisesti, Huomasin, että et voi antaa minkä tahansa etuliite GetList menetelmä.  Seuraava jQuery pätkä osoittaa:

image

Jos teet, web-palvelu vastaa "Arvo ei voi olla null-arvoinen" kuten tämä Fiddler-Jos HTTP tekstinä:

<?XML-versio = "1.0" Encoding = "utf-8"?>
  <saippua:Kirjekuori
     xmlns:saippua ="
http://schemas.xmlsoap.org/SOAP/Envelope/"    
     xmlns:xsi = "
http://www.w3.org/2001/XMLSchema-instance
     xmlns:XSD ="
http://www.w3.org/ 2001/XMLSchema">

  <saippua:Laitos>
    <saippua:Vika>
      <faultcode>saippua:Palvelin</faultcode>
      <faultstring>
        Tyypin poikkeus "Microsoft.SharePoint.SoapServer.SoapServerException’ heitettiin.
      </faultstring>
      <yksityiskohta>
        <errorstring xmlns ="
http://schemas.Microsoft.com/SharePoint/SOAP/">
Arvo ei voi olla null.
        </errorstring>
      </yksityiskohta>
    </saippua:Vika>
  </saippua:Laitos>
</saippua:Kirjekuori>

Tietysti, luultavasti ei lisätä, "s0" etuliite oman, mutta jotkut työkalut ovat altis tekemään sen (kuten Eclipse).

Tämä on sitäkin sekava / turhauttavaa, koska muita keinoja sietää etuliitteet.  Esimerkiksi, sen GetListCollection menetelmä ei välitä, jos se on in, jopa kanssa hölynpölyä etuliitteitä kuten "xyzzy":

image

Tämä "arvo ei voi olla null-arvoinen" tuntuu melko yleinen lists.asmx, joten toivottavasti tämä auttaa jotakuta ulos tulevaisuudessa.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Loputtomasti sisäkkäisyys <div> Tunnisteet ja jQuery

Tämä näyttää siltä, että tällaiset: oddball-aiheessa, En ole varma, se kannattaa todellakin blogging noin, mutta joka on koskaan pysäytetty ennen, joten tässä meidän mennä Hymy

Jos vetäminen joitakin tietoja haun kautta projektin työskentelen, pakaten se ardor XML-viestin ja että XML muuttuu lopulta HTML kautta XSLT.  On paljon jQuery, yksi vähän joka toteuttaa joitakin tabbing toimintoja.  Kun valitset välilehti (Todella, a <div>), jQuery vetoaa .hide() ja .show() kaupungin eri divs (alkuperäisen sivun latausaika Lataa kaiken sisällön, joten ei ole postbacks tässä tapauksessa).

Joukko toukokuu, Kaistale heilahdus logiikka on alkanut käyttäytyä odottamattomalla tavalla ja se ei Näytä yksi välilehtiäni.  Lopulta jäljittää se siitä, että internet Exploreria (ainakin) Ajattelin, että <div> Sisäkkäiset paljon Tunnisteet, paljon syvemmällä kuin on tarkoitettu.Kehittäjä-työkalurivin osoittaisi:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           …………………………
                   </div>  <-Lopuksi osoittaa se suljettiin aina täällä!

Niin, Jos tein $("#Tab1Content").Piilota(), Haluaisin myös piilottaa Välilehti2 ja voisin koskaan näyttää Välilehti2 jos en näyttänyt Tab1.  Kopioida ja liittää koodin visual studio ja se osoitti kaikki div riviin hienosti, aivan kuten ne oli tarkoitus tehdä, Tällainen:

-<div id = "Tab1Content">
  +<div>
  +<div>
-<div id = "Tab2Content">
  +<div>
  +<div>

Lyödä päätä seinään taas ja huomasin, että todellinen HTML koodi tuottaa paljon tyhjiä <div> Tunnisteet, kuten:

<kehon>

  <div id = "Tab1Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

  <div id = "Tab2Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

</kehon>

(Edellä on yksinkertaistettu waaaaaaaaaaaay.  Tyhjä div tags on täysin pätevä. Osa minun <div> Tunnisteet olivat täynnä sisältöä, mutta monet muut eivät.  Tulin ymmärtämään, että minun <XSL:for-each> direktiivien olimme päästöt lyhyen lomakkeen div Tunnisteet Kun xsl:kullekin eivät "löytänyt yhtään tietoja.  HTML-kommentti pakotetaan tuotos, kuten:

image

 

Kun tein, että, Kaikki div rivissä kauniisti ja välilehden vaihtaminen aloitti.

Kuten aina, Toivottavasti tämä auttaa joku hyppysellinen.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Yksi syy varten "tämän virheen luoja ei määrittänyt syytä.”

I olet tehnyt paljon työtä viime aikoina SharePoint-haun ja erityisesti KeywordQuery-luokka, ominaisuudet ja menetelmät.

Jos haluat palauttaa tuloksia paitsi epäillyt tulosjoukon (Katso tässä), Voit lisätä SelectedProperties-kokoelmaan, kuten:

myKeywordQuery.SelectProperties.Add("xyzzy");

Paljon kiitoksia ja kärki hattu Corey Roth ja Tämä erittäin hyödyllinen blogi (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

Minun tapauksessani, "xyzzy" ei ole oikeastaan hallittu ominaisuus.  Kun lisäsin SelectedProperties joka tapauksessa, SharePoint heitti yksi suosikkini koskaan runtime poikkeukset:

"Tämän virheen luoja ei määrittänyt syytä."

Pidän erityisesti pääoman "R" syy.  Tämä kuulostaa minusta kuin .NET vastaavan"Minulla ei ole suuta, ja on huutaa.”

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Yksinkertainen: Oletusarvon mukaan KeywordQuery haun tulokset

Kun käynnistät suoritus() KeywordQuery-menetelmä, Voit luoda ResultType.RelevantResults perustuva ResultTable.  Tämä koodikatkelman kuvataan, mitä tarkoitan:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Tuloksena olevassa taulukossa on tietoja seuraavat sarakkeet: 

Työtunnus
Sijoitus
Otsikko
Tekijä
Kokoa
Polku
Kuvaus
Kirjoitus
Sivuston nimi
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Tähän luetteloon johdetaan SharePoint 2010 ympäristö, Enterprise edition.  Toivottavasti on kätevä jollekulle tulevaisuudessa.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Yksi syy: "Liuos cab-tiedoston purkaminen epäonnistui”

Työskennellessäsi visual studio-web-osan projektin tänään, Tein pieniä jälleen org joitakin tiedostoja _layouts-kansioon otetaan käyttöön käyttöönoton yhteydessä. Erityisesti, .Js tiedosto "TypeAhead.js" kuin "TypeAhead uudelleen(vanha).js"  Aion poistaa se heti, kun sen seuraaja "TypeAhead.js" osoittaa oikein.  Se näytti tämä:

image

Syynä ongelma visual Studio heti, kun olen yrittänyt asentaa projekti:

Virhe käyttöönoton askel lisää ratkaisu: Liuos cab-tiedoston purkaminen epäonnistui.

On käynyt ilmi, että ei sijoita sulkeet tiedostonimissä.  Poistettu parens ja että ratkaista ongelma.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin