Kategori Arkiv: SharePoint utveckling

Enkel förklaring: “Värde faller inte inom det förväntade intervallet.”

UPPDATERING: En anonym affisch lämnade en bra kommentar om interna namn. Se till att läsa den.

När du arbetar med event-mottagare och annan koden som refererar till SharePoint-listobjekt via objektmodellen, Jag gör ofta misstag som genererar detta fel vid körning:

Fel vid laddning och kör händelsemottagare Conchango.xyzzyEventReceiver i xyzzy, Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = 0dc50a750396c3ac. Ytterligare information finns under. : Värdet faller inte inom det förväntade intervallet.

Jag tror detta är en ganska allmänt fel som eventuellt orsakas många olika sätt. Men, en enkel förklaring är att jag är förseende ett fält felaktigt. Om namnet på fältet är "Förfallodatum", Jag måste använda det såhär i en händelsemottagare:

egenskaper.ListItem["Due Date"]

När jag stavar fel eller använder fel fallet när du refererar till fältet, SharePoint genererar ovan nämnde körningsfel. Till exempel, Detta är fel:

egenskaper.ListItem["due Date"]

</slutet>

Prenumerera på min blogg.

Technorati Tags:

Snabb & Lätt: Skapa en mapp och tilldela en innehållstyp (Eller, Har din KPI: er och äta dem också)

För att undvika en KPI problemet Jag skrev om här, Jag gjorde en del tester och upptäckte att KPI arbete mot mappar med meta-data på samma sätt som de arbetar mot dokument eller listobjekt. Jag bevisade det ut genom att skapa en ny innehållstyp baserat på innehållstypen mapp och sedan läggas några fält. Jag skapade vissa indikatorer och visat sig själv som KPI: er fungerar som förväntat. Detta var en Välkommen nyhet. Det är inte perfekt, för att specificera-du får från är KPI mot mapparna inte exakt vad du vill. Detta är inte för mycket en nackdel i mitt fall eftersom 1) slutanvändarna vet inte bättre och 2) drill-down går till en mapp. De klicka på mappnamnet och de är i artikeln. Det är två klick i stället för en, vilket inte är slutet av världen.

Detta flöt fint med det arbete jag gjorde. Jag skapar en mapp för varje dokument som får laddas upp. Detta görs via en händelsemottagare. Som en följd, Det är en bit av kakan att hålla den den överordnade mappens Metadatat synkade med KPI-driven metadata från själva filen eftersom VVS är redan på plats. Detta gör att jag kan ha mina KPI:er och äta dem också 🙂

Jag ändrade händelsemottagare för att lägga till mappen och ange sedan den nya katalogen innehållstypen till min anpassade KPI-vänlig innehållstyp. Denna bit kod gjorde susen:

 SPFolderCollection srcFolders = targetWeb.GetFolder("Dokument").Undermappar;
  SPFolder addedFolder = srcFolders.Add(egenskaper.ListItem.ID.ToString());
  SPContentTypeId kpiCT = nya SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["Innehålls typ-ID"] = kpiCT;
  addedFolder.Item.Update();

Att hitta den verkliga innehållstyp-ID, Jag åt den innehållstypen via Webbplatsinställningar och kopiera/klistrade in det från URL som visas:

bild

</slutet>

Prenumerera på min blogg!

Technorati Tags: ,

Snabb och enkel: Få SPFolder för en SPListItem i en händelsemottagare

Jag hatar att erkänna det, men jag kämpade med den här alla dag. Min händelsemottagare behöver uppdatera ett fält av dess överordnade mapp. Detta lite visar hur man gör det:

privat void UpdateParentFolder(SPItemEventProperties egenskaper)
{

SPFolder thisItemFolder = egenskaper.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ godkännandestatus"] = "Goda nyheter, alla!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

I detta fall, Jag arbetar med ett dokumentbibliotek och egenskaper kommer från en ItemAdded-händelse.

Tricket är att du inte kan få SPFolder för artikeln direkt från själva objektet (dvs. egenskaper.ListItem.Folder är null). I stället, gå till listan artikelns associerad fil och få filens mapp.

</slutet>

Prenumerera på min blogg!

Technorati Tags:

Ännu en annan händelsemottagare Debug Trick

Jag är säker på att inte jag är den första personen att komma med detta. Men, Jag har inte märkt någon publicera ett trick som denna sedan jag började betala nära uppmärksamhet till gemenskapen i juli. Så, Jag trodde att jag skulle skicka det här snabbt och enkelt debug spets.

Jag arbetar på en händelsemottagare började genererar detta fel i den 12 kupan:

Fel vid laddning och kör händelsemottagare Conchango.xyzzyEventReceiver i xyzzy, Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = blahbalhbalh. Ytterligare information finns under. : Object reference not set till en instans av ett objekt.

Jag visste inte var jag hade infört detta fel eftersom jag hade gjort för många saker i en av min kod/distribuera/provcyklerna.

Jag försökte Denna lösning att få min pdb där med förhoppningar att SharePoint 12 kupan skulle Visa stackspårning, men ingen lycka. Jag vet inte om det är möjligt och om någon gör, behaga låta mig veta 🙂

Jag vet att det är möjligt att Skriv din egen logga meddelanden till den 12 kupan. Ärligt talat, Jag ville ha något lite mindre skrämmande och snabbare att genomföra.

Det slog mig att jag åtminstone kunde få några grundläggande spårningsinformation genom att fånga och åter kasta generiska undantag som detta:

  försök {
    UpdateEditionDate(egenskaper);
  }
  fånga (Undantag e)
  {
    kasta nya Undantag("Dispatcher, UpdateEditionDate(): Undantag: [" + e.ToString() + "].");
  }

Detta visade upp i den 12 Hive thusly:

Fel vid laddning och kör händelsemottagare Conchango.xyzzyEventReceiver i xyzzy, Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = blahblahblah. Ytterligare information finns under. : Dispatcher, UpdateEditionDate(): Undantag: [NullReferenceException.: Object reference not set till en instans av ett objekt. på Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties egenskaper) på Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties egenskaper, Sträng eventDescription)].

Som gav mig alla detaljer jag behövde för att spåra upp det särskilda problemet och jag förväntar mig att använda den mycket framöver.

</slutet>

Prenumerera på min blogg!

Lösning: SPQuery söker inte mappar

Förra veckan var jag genomföra en "utvecklas" lösning för en klient som använder BDC- och SPQuery och sprang in vissa svårigheter med att använda SPQuery mot ett dokumentbibliotek som innehåller mapparna. Nedersta raden: tilldela "rekursiv" Visa attributet för frågan.

Mitt scenario:

  • På måndag, Jag ladda upp ett dokument och leverera några meta-data.
  • Följande vecka, Jag laddar upp ett nytt dokument. Mycket av detta nya dokument metadata bygger på det dokument som jag lagt upp på måndag (som vi kallar "samlingsdokumentet").
  • Vi har skapat en web service fasad som tillhandahåller en BDC-gränssnitt i listan så att användare enkelt kan hitta måndag dokumentet via en titel sökning.
  • BDC-datakolumnen ger ett användarvänligt gränssnitt. (Detta är en del av mitt försök att använda BDC för en mer vänlig uppslagskolumn).

Sista BDC-fasad tjänsten använder en fråga som denna för att göra sökningen:

 // Använde U2U verktyg för att hjälpa till att skapa denna CAML query.
      oQuery.Query =
        "<Där>";

      om (titleFilter.Length > 0)
        oQuery.Query  =
          "  <Och>";

      oQuery.Query  =
        "    <Och>" +
        "      <GEQ>" +
        "        <FieldRef namn =  "DocumentId" />" +
        "        <Värde typ =  "Text">" + minId + "</Värde>" +
        "      </GEQ>" +
        "      <LEQ>" +
        "        <FieldRef namn =  "DocumentId" />" +
        "        <Värde typ =  "Text">" + maxId + "</Värde>" +
        "      </LEQ>" +
        "    </Och>";

      om (titleFilter.Length > 0)
        oQuery.Query  =
          "    <Innehåller>" +
          "      <FieldRef namn =  "Title" />" +
          "      <Värde typ =  "Text">" + titleFilter + "</Värde>" +
          "    </Innehåller>" +
          "  </Och>";
      oQuery.Query  =
        "</Där>";

Under det inledande skedet av utveckling, Detta fungerade bra. Men, vi infört mappar i katalogen för att lösa vissa problem och plötsligt, min BDC-picker skulle inte återvända några resultat. Jag spårade det ner till det faktum att SPQuery skulle aldrig återvända några resultat. Vi använde mappar främst för att tillåta flera filer med samma namn till vara belastat upp men med olika meta-data. När filen är uppladdad, Vi skapar en mapp baserade på listan objektets ID och sedan flytta filen där (Jag skrev om att Här; Vi har haft blandade resultat med detta synsätt, men på hela, det fungerar bra). Användaren inte bryr sig om mappar och faktiskt, förstå inte riktigt att det finns några mappar. Vi har konfigurerat alla synpunkter på biblioteket för att visa objekt utan hänsyn till mappar.

Jag slog detta problem två gånger som det tekniska genomförandet utvecklats och löst det annorlunda varje gång. Första gången, Jag var inte med operatorn innehåller i frågan. Utan en innehåller operator, Jag kunde lösa problemet genom att ange vyn på den SPQuery student. Istället för att använda standard konstruktören:

SPList oList = web.Listor["Dokument"];

SPQuery oQuery = nya SPQuery();

Jag använde istället en konstruktor som angav en vy:

SPList oList = web.Listor["Dokument"];

SPQuery oQuery = nya SPQuery(oList.Views["Alla dokument"]);

Som löste problemet och jag började få mina resultat.

Jag la sedan innehåller operatören i mixen och det bröt igen. Det visar sig att operatorn innehåller, så längt som jag kanna berätta, fungerar inte med om på samma sätt som i en enklare GEQ / LEQ operatörer. Jag auktoriserat inte något forskande och lärde sig att frågans ViewAttributes ska anges till "Recursive", som i:

oQuery.ViewAttributes = "Räckvidd = "Recursive"";

Som löste problemet för innehåller. I själva verket, Detta löste också min ursprungliga söka problem och om jag hade specificerat rekursivt attributet första gången, Jag skulle inte ha köra frågan igen.

Det faktum att en Visa-baserade SPQuery fungerar för vissa operatörer (GEQ/LEQ) och inte andra (INNEHÅLLER), tillsammans med det faktum att KPI inte verkar fungera alls med som innehåller mappen dokument bibliotek leder mig att tro att SPQuery har några ortogonalitet frågor.

Särskilt tack:

</slutet>

Prenumerera på min blogg!

MOSS KPI bugg? Listmarkör knuten till dokumentbibliotek med mappar

UPPDATERING 02/29/08: Jag löste problemet genom att skapa en mapp och sedan tilldela en innehållstyp till broschyren vilken de metadata som jag behöver för KPI: erna. Jag beskrivs som lite mer detaljerat här.

Vi har genomfört en teknisk lösning där användare ladda upp dokument i ett dokumentbibliotek. En händelsemottagare skapar en katalog och flyttas till den katalogen (med hjälp av en teknik som liknar vad jag skrev om Här). Vi har framgångsrikt navigerat runt de potentiella problem orsakade av händelsen mottagare som byta namn på uppladdade filer (främst på grund av att användare aldrig börja deras dokument genom att klicka på "ny" men i stället skapa docs lokalt och sedan ladda upp dem).

Metadata för dessa dokument innehåller ett ja/nej webbplatskolumn kallas "brådskande" och en annan webbplatskolumn kallas "Status". Vi måste uppfylla ett krav på företag som visar andelen "brådskande" dokument vars status är "Väntande".

Detta är oftast enkel att göra och jag beskrev något så mycket sånt här på SharePoint-Beagle med massor av skärm skott om du är intresserad.

I ett nötskal, Jag gjorde följande:

  • Skapa en vy på doc biblioteket kallas "Väntande".
  • Konfigurera vyn så att ignorera mappstruktur.
  • Skapa en KPI-lista.
  • Skapa en indikator i listan som pekar på doc lib och som "väntande" Visa.

Detta helt enkelt fungerar inte. KPI visar mitt mål (t.ex. fem brådskande dokument) men alltid visar det faktiska antalet brådskande dokument som noll. Paradoxalt nog, Om du borrar ner till Detaljer, Det visar de fem brådskande dokument i listan. Jag skapade en mycket enkel scenario med två dokument, en i en mapp och en inte. Här är skärmdump:

bild

Ovanstående skärmdump visar tydligt att det finns två dokument i vyn men "värde" är en. "CamlSchema" med tomt dokument-Id i rotmappen och den andra är i en mapp som heter "84".

Det förefaller mig att även om du anger en vy, KPI: N hedra inte "Visa alla objekt utan mappar" inställning och i stället, begränsar sig till rotmappen.

Om jag har fel, snälla släpp mig en linje eller lämna en kommentar.

</slutet>

Prenumerera på min blogg!

Technorati Tags:

Lösning på Problem: “FileNotFoundException” Med min funktionsmottagaren.

Jag arbetade på en funktion förra veckan som skulle lägga till vissa evenemang mottagare till en specifik lista förekomst. (Jag bloggade lite om att listan mottagare här).

Med hjälp av kommandoraden, Jag kunde installera funktionen utan fel (men se nedan för dolda fel). När jag försökte använda funktionen på webbplatsen, MOSS klagade över en "FileNotFoundException" fel. Denna bloggpost beskriver hur jag löste det.

Detta är felet som MOSS visade mig i webbläsaren:

Funktionen ' b2cb42e3-4f0a-4380-Maria-1ef9cd526f20’ kunde inte installeras eftersom inläsningen av sammansättningen "xyzzyFeatureReceiver_0" misslyckades: System.IO.FileNotFoundException: Kunde inte läsa in filen eller sammansättningen ' xyzzyFeatureReceiver_0’ eller en av dess beroenden. Systemet kan inte hitta filen.
Filnamn: "xyzzyFeatureReceiver_0’
på System.Reflection.Assembly.nLoad(AssemblyName filnamn, Sträng kodbasen, Bevis assemblySecurity, Församlingen locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
på System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Bevis assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
på System.Reflection.Assembly.InternalLoad(Sträng assemblyString, Bevis assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
på System.Reflection.Assembly.Load(Sträng assemblyString)
på Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
VARN: Församlingen bindande loggningen är aktiverad OFF.
Du aktiverar montering bind fel loggning, Ange registervärdet [HKLMSoftwareMicrosoftFusion]!EnableLog] (DWORD) till 1.
Anmärkning: Det finns vissa prestanda straff är associerad med församlingen bind fel loggning.
Inaktivera den här funktionen, ta bort registervärdet [HKLMSoftwareMicrosoftFusion]!EnableLog].

Felsöka problem med Windows SharePoint Services.

Jag vet hur man medvetet orsaka detta fel: Installera inte sammansättningen i GAC. Men, Det var i den globala Sammansättningscachen. Jag installera normalt sammansättningar i den globala Sammansättningscachen genom att dra dem till c:\windowsassembly-mappen med Utforskaren. Jag har aldrig känt 100% bekväm att göra det eftersom jag alltid trott att gacutil fanns en anledning … så jag försökte att. Det gjorde ingen skillnad.

Jag sökte på Internet och hittade detta inlägg: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Affischen råkade använda den samma rot bit kod (från inuti WSS bok från denna lista) så det var ett hoppfullt tecken. Men, förslaget att dekorera församlingen med en [församling: ] direktivet vettigt inte för mig. Jag försökte det ändå och jag hade rätt. Det gjorde ingen skillnad.

Sedan märkte jag att min klassdefinition inte var offentlig. Jag gjorde det offentliga och det gjorde ingen skillnad.

Nästa, Jag gick till problem med att aktivera "församlingen bind misslyckande loggen" (efter användbara och korrekta instruktioner) och det är där saker och ting började bli intressant. Loggen visar mig att körningsmiljön söker överallt på servern för min församling. Det verkar även vara söka efter det i min medicinskåpet. Men … Det kommer inte att söka efter den i den globala Sammansättningscachen.

Jag satte på min vinterjacka och gå söka Internetsen igen och hitta att någon har haft detta problem också. Den långa diskussionen i denna bokföring Petrus bort till ingenting och jag kan inte hitta en lösning.

Jag flyttar min församling till en av de platser loggen hävdar det söker och jag göra lite mer framsteg. Jag är belönade med en nya fel i webbläsaren när jag försöker aktivera funktionen:

Det gick inte att skapa funktionen mottagare objekt från församlingen "xyzzyFeatureReceiver_0", typ "Conchango.xyzzyFeatureReceiver" för funktionen b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Värdet får inte vara null.
Parameternamnet: typ
på System.Activator.CreateInstance(Typ typ, Booleska nonPublic)
på System.Activator.CreateInstance(Typ typ)
på Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Felsöka problem med Windows SharePoint Services.

Dags för en sista resa till Internets!

Denna gång jag reda, förutsägbart nog, att mossa frågor detta fel eftersom församlingen inte i GAC.

Jag vill få något positivt ur detta och försök att känna sig lite stolt att jag har skapat den Flyktiga MSIL församlingar, men det fungerar inte. Jag är helt enkelt irriterad. Jag finner mig själv muttrade "hönan eller ägget" under min andedräkt.

Jag slutligen besluta att punt. Jag skapar ett helt nytt projekt och klistra in koden från incredible-cloaked-from-the-GAC-assembly icke-arbetande projektet över till detta nya projekt. (Jag söker efter en bygga flagga kallas något i stil med "Dölj från församlingen bindande om installerat i GAC" men kan inte hitta en).

Jag installera funktionen och aktivera den och … det fungerar! Så, efter allt som, Jag var tvungen att i princip "pånyttfödd’ mitt projekt. Det är en anledning varför jag hatar datorer.

Jag lärde mig något nyttigt från detta. Jag hade installerat funktioner använder stsadm befalla lina hela dagen lång och använt den "-kraft" alternativet av gammal vana. Av någon anledning, Jag inte använder alternativet - force när jag installerade det nya projektet. Den här gången, Jag gjorde faktiskt, verkligen glömma att kopiera detta nya projekt sammansättningen i GAC. Som en följd, Jag fick det "FielNotFoundException" fel. Den här gången, Jag fick den från stsadm, inte när jag försökte aktivera funktionen via webbläsaren. Så, -Force faktiskt spelar två roller. Du kan installera en befintlig funktion. Du installerar en buggy funktion som inte kan arbeta vid körning genom att undertrycka felet kan också. Står förmodligen det lika mycket som hjälp någonstans men jag märkt aldrig det.

</slutet>

Snabb & Lätt: Byt namn på överförda filen med hjälp av SharePoint-objektmodellen Via ett händelse-mottagare

UPPDATERING: Detta fungerar men det finns betydande begränsningar som beskrivs i kommentarerna. Detta kan fortfarande vara användbart i vissa fall.

UPPDATERING 2: I mitt nuvarande projekt, användare alltid ladda upp dokument. Som en följd, Jag kör inte in i ett problem där MS Word körs och tycker att filen byttes namn på den. Jag stött på ett problem, "filen ändrades av någon annan" och löste detta via en enkel semafor typ flagga. Förbrukaren behov till ändra en meta datafält från standardvärdet till något annat. Itemupdated() mottagaren ser ut för ett giltigt värde det innan du faktiskt utför nytt namn och sedan dess, Jag har inte haft några problem. Användbarheten kan variera.

Jag har ett krav på klienten att ändra namn på filer som laddas upp till ett visst dokumentbibliotek att överensstämma med en viss namnkonvention. API tillhandahåller inte en "Byt namn()" metoden. I stället, Vi använder "MoveTo(…)". Här är lite minimal kod för att åstadkomma detta:

 offentliga åsidosätta void ItemAdded(SPItemEventProperties egenskaper)
        {
            SPFile f = egenskaper.ListItem.File;

            f.moveTo(egenskaper.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc");
            f.Update();

        }

Den bara knepiga biten är "egenskaper. ListItem.ParentList.RootFolder.Url". MoveTo() metoden kräver en URL. Som mosade upp strängen poäng mig till rotmappen på min nuvarande dokumentbibliotek. Detta gör att jag slipper någon hård kodning i min händelsemottagare.

Detta är en mer användbar version som gör samma sak, men tilldelas namnet på filen "Titel":

 offentliga åsidosätta void ItemAdded(SPItemEventProperties egenskaper)
        {
            DisableEventFiring();

            // Tilldela namnet på själva titeln på denna punkt.
 // ANMÄRKNING: Den här tilldelningen måste äga rum innan vi ändrar själva filen.
 // Kräver uppdatering() på SPFile verkar ogiltigförklara egenskaperna i
 // någon mening.  Uppdateringar till "titel" Det gick inte att förändras (och uppdatera() Ring)
 // flyttades framför ändringen till i filnamnet.
            egenskaper.ListItem["Rubrik"] = egenskaper.ListItem.File.Name;

            egenskaper.ListItem.Update();

            SPFile f = egenskaper.ListItem.File;

            // Få förlängning av filen.  Vi behöver som senare.
 sträng spfileExt = nya FileInfo(f.Name).Förlängning;

            // Byt namn på filen till listan Objektets ID och använder filnamnstillägget att hålla
 // den del av det intakt.
            f.moveTo(egenskaper.ListItem.ParentList.RootFolder.Url +
                "/" + egenskaper.ListItem["ID"] + spfileExt);

            // Begå flytten.
            f.Update();

            EnableEventFiring();
        }

Snabbtips: Webbdelen för innehållsfråga, Sökning kolumnvärde och XSL

Jag har ett kolumnnamn i en innehållstyp som heter "Real Estate plats".

Kolumnen är av typen "lookup".

Jag har ändrat <CommonViewFields> och ItemStyle.xsl att visa kolumnen.

En enkel <XSL:värdet av Markera =…> Returnerar tillbaka en inre värde som inkluderar ordningsposition data, såsom:

1;#Miami

Att få värdet mänskliga miljövänliga, använda xsl delsträng-efter, som visas:

<XSL:( @ Real_x005F_x0020_Estate_x005F_x0020_Location, '#') ">< / xsl:värdet av >(@ Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></XSL:värdet av>

Använd den här tekniken när du arbetar med uppslagsvärden i XSL-transformeringar och behöver för att få mänskliga-vänliga värdet.

<slutet />

Technorati Tags: , ,

Snabb och enkel: Fastställa interna kolumnnamn i en webbplatskolumn

UPPDATERING: Jeremy Thake har bloggat om detta och sätta upp några koden för en konsolapplikation Det visar interna namn.

Jag försökte få en innehåll fråga webbdel visas ett förfallodatum från en aktivitet och eftersom etiketten skärmen är "Förfallodatum", Jag antar att de kolumnnamn för att använda i <CommonViewFields> är "Due_x0020_Date".

Fel!

Verkliga kolumnnamnet var i detta fall "DueDate".

Hur jag hitta den? Jag läsa åter Heather Solomons bloggpost om hur du ändrar CQWP Visa ytterligare kolumner med data. Hon beskriver denna process på steg #13. Lita på det. Det är korrekt. Minst, Det var rätt för mig. Jag litade inte det först för en annan kolumn med en mycket längre namn.

Jag säger "lita på det" eftersom jag inte litade på det och förmodligen slösat nära två timmar laskning mitt huvud mot väggen. Efter att jag löst det "DueDate" Namn, Jag ville lägga till ett annat fält till <CommonViewFields>. Med hjälp av Solomon teknik, Jag fick ett kolumnnamn som "XYZ_x0020_Project_x0020_Due_x00".

Jag tänkte för mig själv, Det är helt klart ett trunkerade namn. Jag gick vidare och un-stympad det utan framgång. Slutligen använde jag det till synes trunkerade namnet och det fungerade.

Bonus tips: När jag arbetade med CQWP, om jag lagt till ett dåligt interna namn till <CommonViewFields>, CQWP skulle berätta för mig att frågan hade returneras inga resultat. Men, om jag la en datatyp till fältnamnet, Det skulle returnera ett resultat. Lägga till uppgifterna om maskerade typ faktiskt ett problem eftersom jag var referenser ett icke-existerande fält. Jag skulle kunna lägga det, men när jag försökte Visa dess värde, Jag skulle alltid få en tom.

Det inte dölja felet:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Detta maskera fel:

<CommonViewFields>Due_x0020_Date,DateTime;</CommonViewfields>

</slutet>