Archívy kategórie: SharePoint rozvoja

Jednou z príčin "jednej alebo viacerých pole typov nie sú nainštalované správne”

Som bol tvorby malé vylepšenia včera do webovej časti, ktorá robí CAML dotaz proti zoznamu.  Vykonané zmeny, nasadiť ju a uhodit s chybou:

Vyskytla sa neočakávaná chyba v troch deň Outlook predpoveď počasia WebPart. Obráťte sa na správcu systému. Jeden alebo viac typov polí nie sú správne nainštalované. Prejdite na stránku nastavení zoznamu a odstráňte tieto polia.

Som čelila ďalším problémom podivín skôr tak nemala okamžite pripojiť môj dotaz CAML s chybu, že SharePoint bola hlásenia pre mňa.  Urobil som rýchle vyhľadávanie na bing a a našiel tento post, užitočné blog Autor: Sandeep Nahta  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

Tu je zlý dotaz:

dotaz.Dotaz ="<Kde><A><Neq><FieldRef meno = "Abbr" / >< Kde class = "tr_" id = "tr_10" data-token = "VmFsdWUgVHlwZT0mIzgyMTc7VGV4dCYjODIxNzs," zdroj údajov = "" > typ hodnoty = "Text"><Typ hodnoty = "Text">SFNY</Hodnota><FieldRef meno = "Abbr" / >< Kde class = "tr_" id = "tr_10" data-token = "VmFsdWUgVHlwZT0mIzgyMTc7VGV4dCYjODIxNzs," zdroj údajov = "" > typ hodnoty = "Text"><Typ hodnoty = "Text">SFIS</Hodnota></Neq></A></Kde>";

Tu je to opravené:

dotaz.Dotaz ="<Kde><A><Neq><FieldRef meno = "Abbr" / >< Kde class = "tr_" id = "tr_10" data-token = "VmFsdWUgVHlwZT0mIzgyMTc7VGV4dCYjODIxNzs," zdroj údajov = "" > typ hodnoty = "Text"><Typ hodnoty = "Text">SFNY</Hodnota></Neq><Neq><FieldRef meno = "Abbr" / >< Kde class = "tr_" id = "tr_10" data-token = "VmFsdWUgVHlwZT0mIzgyMTc7VGV4dCYjODIxNzs," zdroj údajov = "" > typ hodnoty = "Text"><Typ hodnoty = "Text">SFIS</Hodnota></Neq></A></Kde>";

Takže, ponaučenie z príbehu je: Uistite sa, že vaša CAML je správne alebo sa môžete dostať podivín chyba.

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

</koniec>

SharePoint 2010 Roztok uviazol v "nasadenie” Stav

Použil som PowerShell nasadenie riešenia na farmy SharePoint (h/t:  Corey Roth a jeho blogu). 

I potom šiel k centrálnej admin, prístup k nastavenia systému a potom "Spravovať farmy riešenie" nasadiť na farmu a o mojej (nepatrné) zdesenie, je tu uviazol v "nasadenie".

Som videl tento problém prísť mnohých krát na fóra lokality MSDN, tak som bol docela nervózny.  I hľadali okolo trochu a našiel tento užitočný článok (zdanlivo Nepřisuzovaný osobou z http://www.resolutionsnet.co.uk/).  Som zrušený prácu nasadenia a keď som klikol do roztoku, povedal mi, že to bol úspešne nasadené roztok tri zo štyroch serverov vo farme.

Išiel som do neetické servera, Služba časovač zastaví a reštartuje sa.  Systém Windows server skutočne mi povedal, že služba nedokázal reagovať na príkaz, Takže to mi povedala, že bola chorá.

tentoraz, keď som sa vrátil späť do centrálnej admin, Bol som schopný zavádzať s žiadny problém.

Dúfajme, že tento bit informácie vám pomôžu niektoré v viazať, jeden dní.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Chyba v deň: "Nemôžete pridať zadaná zostava GAC”

Bol som bojujú trochu s programu visual studio 2010 v sp2010 roztoku a bolo získať túto chybu:

Vyskytla sa chyba v nasadení kroku pridať riešenie: Chyba: Nie je možné pridať zadaná zostava global assembly cache: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

Išiel som do GAC, samotný (c:\windowsassembly) aby sa pokúsila odstrániť a dostal chybu „file in use ”.

Urobil iisreset, Takmer stiahnuť Sysinternals, Zastaví službu časovač služieb nakoniec, Som len zatvorili a znovu otvorili program visual studio, sama o sebe, a nakoniec som bol schopný ho uzavrieť.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Rýchle a jednoduché: Ladenie VS 2010 Roztok nasadenie

Visual Studio 2010 správy ťažké debug chyby počas rozmiestnenia niekedy.  Rýchly a jednoduchý spôsob, ako robiť niektoré veľmi hrubý ladenie je hádzať svoje vlastné pomenované výnimky.  Visual Studio bude ukázať im v konzole výstup.

Zvážte to trochu kód:

image

Ak táto funkcia je zamerané na webovú aplikáciu, stránky bude mať hodnotu null.  Ak si vyskúšať a referenčné vlastnosť stránky, dostanete nejednoznačné chyba:

Vyskytla sa chyba v nasadení kroku pridať riešenie: Odkaz na objekt nie je nastavený na inštanciu objektu.

Avšak, Ak hádzať nové výnimky a preniesť reťazec štrku, zobrazí sa hlásenie mierne viac užitočné:

image

To je surový technika, ale docela rýchly a jednoduchý.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Časovač prácu FeatureActivated A funkcia rozsah

Bol som prácu s niektoré kód, ktorý niekto odovzdáva mi prácu časovač.  Mu nemal poskytnuté skutočný funkcia aktivačný kód, tak som musel písať, samozrejme.  Využil som Andrew Connell slávny blog post na tému.

Som pomocou Visual Studio 2010 a nasadenie stále nedarí kvôli chybe "Chyba v nasadení krok"Pridať riešenie": Objekt odkaz nenastavili na inštanciu objektu."

Bol pričom jeho kód príliš doslovne.  Bola rozhľadu funkciu na úrovni webovej aplikácie, ako je uvedené:

image

V dôsledku, vlastnosti, ktoré sú odoslané do prijímača sú z webovej aplikácie, nie kolekciu lokalít.  V závere, kód vyzerá takto:

verejnosti prepísať neplatné FeatureActivated(SPFeatureReceiverProperties vlastnosti)
{

    // Nerobte takto web app Aktivácia funkcie, to vedie k zúfalstva úsmev
    // SPSite stránky = vlastnosti.Feature.Parent ako SPSite;

    SPWebApplication wa = vlastnosti.Feature.Parent ako SPWebApplication;

    Ak (WA == null) hádzať nové výnimky("webapp2 je null.");

    foreach (SPJobDefinition prácu v wa.JobDefinitions)
    {

        skúste
        {
            Ak (prácu.Meno == List_JOB_NAME)

                prácu.Odstrániť();
        }
        chytiť (E výnimka)
        {
            hádzať nové výnimky("značka 2");
        } // chytiť e výnimka
    }

    // Nainštalujte prácu

    WeatherForecastTimerJob weatherForecastTimerJob =
        nové WeatherForecastTimerJob(List_JOB_NAME, WA);

    SPMinuteSchedule rozvrh = nové SPMinuteSchedule();
    rozvrh.BeginSecond = 0;
    rozvrh.EndSecond = 59;
    rozvrh.Interval = 5;
    weatherForecastTimerJob.Schedule = rozvrh;
    weatherForecastTimerJob.Update();

}

Take-away kľúč je, že keď táto funkcia je určený pre webovú aplikáciu, SPFeatureReceiverProperties, že SharePoint prechádza na prijímači funkcia má web app rovnakých parametrov.  Ondreja starý blog na vstupe predpokladá, že je určený pre kolekciu lokalít.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Tam, kde je Microsoft.SharePoint.ApplicationPages.Administration.dll?

Bol odovzdaný program visual studio projektu, ktorý odkazuje na Microsoft.SharePoint.ApplicationPages.Administration.dll.  Trvalo mi trochu kým nájsť to a som myslel bych zdieľať.  V moje životné prostredie, nachádza sa v:

c:\Program filescommon filesmicrosoft sharedweb server extensions14configadminbin

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

CodePlex projektu – SP2010 Explorer

Ako súčasť prebiehajúceho úsilia naučiť technické nízkej úrovni podrobnosti o SharePoint 2010, Vytvoril som "SharePoint Explorer"druh nástroja.  Myšlienka nie je nová.  Použil som tento projekt viac ako jedenkrát: http://sharepointexplorer.codeplex.com/.  Moja predstava je vytvoriť verziu SharePoint používa pripojené webové časti na zobrazenie všetkých low-level detail že objektový model môže poskytnúť. 

Tento blog post slúži ako obe oznámenia projektu, ako aj výzvu pre dobrovoľníkov.  Ak máte záujem o prácu na tomto projekte, Dajte mi vedieť prostredníctvom e-mailu (Galvin.Paul@Gmail.com) a budeme pracovať to.

Tu je projekt: http://sp2010explorer.codeplex.com/

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Práca S TreeNodeBinding v ASP.NET Treeview Control

Bol som prácu na to, čo dúfam, že bude čoskoro-uvoľní CodePlex projekt, ktorý poskytuje trochu pekné integrovaného webových častí hovorí k sebe navzájom prostredníctvom pripojenia poskytovateľ a spotrebiteľa pre skúmanie lokality SharePoint pod krytov.  (To určite bolo vykonané pred, ale to je rovnako ako čokoľvek iného vzdelávania projekt).  Znamená to, že sa náhrada za zobrazenie programu Prieskumník windows SharePoint 2010 knižnice dokumentov.

Kód má obvyklé rekurzívneho volania nadol SPWeb a SPLists z danej počiatočný bod.  Objekt, ktorý má všetky že zasahujú hromadia XML reťazec, ktorý vyzerá nejako takto:

<sitecollection url =’http://demo2010a:9090′>
 
<Web
     názov = "Hello World pieskovisko" 
     Šablóna = "stránky pre tímy, aby rýchlo usporiadať, spisovateľ, a zdieľanie informácií, BLA BLA BLA ">

     <zoznam
        názov = "BCC_Health_Services_FAQs’
        Šablóna = "CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</zoznam>

     <zoznam
        názov = "BCC_Notifications" 
        Šablóna = "CustomList" 
        listid =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c-41 c 0-9063-b9612be80d5e’>
     </zoznam>

  </Web>

</sitecollection>

Očakávam čistiť hore, že XML pred všetko, čo povedal a urobil.

Chcem sa nakoniec si, že informácie nahor a do Treeview control.  Nie je presne Zeme otrasená veci.

Vzal som tu výzvu bolo pripojenie stromové zobrazenie zdroj údajov XML kontrolu namiesto manuálne budovanie mojej treenodes, ako prechádzať stromu.  Já to urobil, čiastočne preto, že som zámerne tvorby veci ťažšie na seba (je to koniec koncov learningový projekt) a čiastočne, pretože mať tento vágny pojem že vybudovanie strom uzly, ako prechádzať stromu nie je dobrý nápad pre dlhodobo.

Problém s týmto prístupom je, že Treeview control nevie o dobré atribúty na zaujímavé uzloch ako "zoznam" alebo "web", takže to ukazuje tento výstup v predvolenom nastavení:

 

image

To nie je užitočné.  To je, kde pomáha TreeNodeBinding triedy.  Môžete to použiť povedať Treeview control, ako by mala interpretovať XML.  Tu je príklad:

TNB Beninská = nová TreeNodeBinding();
TNB Beninská.DataMember = "zoznam"; // Je to označenie vo formáte xml pre lokalitu.
TNB Beninská.TargetField = "listid";
TNB Beninská.ValueField = "titul";
TNB Beninská.ToolTipField = "Šablóny";

Táto väzba hovorí treeview, že keď zistí <zoznam> uzol v súbore XML, uplatňovať väzby pre TargetField, ValueField a ToolTipField.  V máji app, tieto mapy takto:

  • TargetField: Keď niekto klikne na hodnotu uzla, to je to, čo dostanete na SelectedNode.Value.  To nie je možné zameniť s...
  • ValueField: To je to, čo chcete Treeview zobrazíte užívateľovi.
  • ToolTipField: Hodnota z XML, ktorý ako názov tlačidla.

Pridá, že TreeNodebinding stromové zobrazenie DataBindings a vy dostanete výstup takhle:

 

image

Budete mať o to viac ako pokračovať na projekte a nakoniec to dať hore na Codeplex.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Pripojenie filtre poľa Text na vaše vlastné webovej časti

Som chcel získať informácie z textového poľa filtra SharePoint 2010 do mojej vlastnej webovej časti.  Snažil som sa pomocou Tento článok na lokalite MSDN ako základ ale v článku je buď členia alebo som len po to správne.

Trochu viac hľadaní objavil Mike Smith MSDN príspevok tu (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Existuje veľa vecí tam na spojovateľný webové časti, ale Mike článok je tak jednoduché, ako to dostane.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Rýchle a jednoduché: Pošlite E-mail prostredníctvom Gmail SMTP Server v .net C#

To nie je úplne novú tému, ale keď som musel urobiť, Našiel som veľa "prečo nie je táto práca pre mňa" a nie príliš veľa priamych odpovede. Dúfam, že niekto nájde to užitočné.

Nasledujúce bitový kód bude pošlite e-mail pomocou vlastné gmail účtu na to, vrátane príloh:

pomocou System.Net.Mail;
pomocou System.Net;

NetworkCredential loginInfo = nové NetworkCredential("[Môj Gmail ID]", "[Môj Gmail heslo]");
MailMessage MSG = nové MailMessage();
MSG. Z = nové MailAddress("[M Gmail Id]@gmail.com");
MSG. To.Add(nové MailAddress("paul.galvin@arcovis.com"));
MSG. Predmetom = "Skúšobný program infopath dev predmet";
MSG. Telo = "<HTML><telo><silné>Silné posolstvo.</silné></telo></HTML>";
MSG. IsBodyHtml = pravda;

foreach (reťazec aFile v NIPFD. GetAttachmentNamesAndLocations())
{
    MSG.Attachments.Add(nové Príloha(aFile));
} // Pridanie príloh.

SmtpClient klient = nové SmtpClient("smtp.gmail.com");
klient.EnableSsl = pravda;
klient.UseDefaultCredentials = FALSE;
klient.Poverenia = loginInfo;
klient.Port = 587;
klient.EnableSsl = pravda;
klient.Odoslať(MSG);

Niekoľko kľúčových kúsky, ktoré spomalil ma a ďalšie pripomienky / poznámky:

  • Prvý riadok, ktorý vytvorí objekt loginInfo musí používať gmail ID zbavený "@gmail.com”. Takže, Ak je môj gmail e-mailovú adresu "sharepoint@gmail.com"a heslo je"minového"potom riadok bude vyzerať:

NetworkCredential loginInfo = nové NetworkCredential("sharepoint", "xyzzy minového");

  • Môj účet gmail je nastavený na používanie protokolu SSL a ktorý nebolo problém.
  • Tam je nejaký konfliktných informácií tam o čo port používať. Použil som portu 587 a fungovalo to pokutu za mňa.
  • V mojom prípade, Tiež som potreboval poslať príloh. Že NIPFD objekt má metóda, že vie, kde sú moje príloh. To sa vracia plne cesta (napr.. "c:\tempattachment1.jpg". V mojom teste, Mal som dve prílohy a obaja pracovali dobre.

Použil som programu visual studio 2008 napísať tento kód.

</koniec>

Vyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Technorati Tags: ,,,