Kategorija Arhiv: SharePoint razvoj

Eden od razlogov za "eno ali več polj vrste ni pravilno nameščen”

Sem bil včeraj kar majhno poteg za spletni gradnik, ki počne CAML poizvedbo proti seznam.  Naredila sem spremembo, jo in dobil zadetek z napako:

Nepričakovana napaka v treh dan Outlook vremena spletnega gradnika. Se obrnite na skrbnika sistema. Nekatere vrste polj niso nameščene pravilno. Pojdite na stran z nastavitvami seznama želite izbrisati ta polja.

Sem bil obrnjen drugo vprašanje Otkačen prej, zato nisem takoj povezati moj CAML poizvedbe z napako, da SharePoint je poročanje, da me.  Sem storil a nagel preiskava bing in in našel to koristen blog post z Posut s peskom Nahta  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

Tukaj je slabo poizvedbe:

poizvedbe.Poizvedovanje ="<Kjer><In><NEQ><FieldRef ime = "Abbr" /><Vrednost Type = "Besedilo">SFNY</Vrednost><FieldRef ime = "Abbr" /><Vrednost Type = "Besedilo">SFIS</Vrednost></NEQ></In></Kjer>";

Tukaj je določen:

poizvedbe.Poizvedovanje ="<Kjer><In><NEQ><FieldRef ime = "Abbr" /><Vrednost Type = "Besedilo">SFNY</Vrednost></NEQ><NEQ><FieldRef ime = "Abbr" /><Vrednost Type = "Besedilo">SFIS</Vrednost></NEQ></In></Kjer>";

Tako, moralno te zgodbe je: Poskrbite, da vaš CAML je pravilna ali morda boste dobili napako Otkačen.

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

</namen>

SharePoint 2010 Raztopina, ki je zaljubljen v "uvajanje” Stanje

Sem se PowerShell uvajanje rešitev za SharePoint kmetije (h/t:  Corey Roth in njegov blog post). 

Potem sem šel na osrednji admin, dostopati sistem nastavitve in nato »Upravljanje kmetij rešitve« za uvajanje, na kmetiji in da moj (rahle) osuplost, dobila zaljubljen v "uvajanje".

Videl sem to vprašanje, ki je prišel večkrat na MSDN forumi, Torej sem bil zelo živčen približno to.  Jaz preiskava okrog a košček in našel to koristen članek (navidezno unattributed oseba iz http://www.resolutionsnet.co.uk/).  I razveljavi uvajanje delo, in ko sem kliknil v raztopino, to mi je povedal, da je imel uspešno uveden rešitev za tri od štirih strežnike v gruči.

Šla sem na Zabludjeli strežnik, ustavi časovnik storitev in ga zaženete.  Windows server dejansko povedal mi da storitvi ni uspelo odzvati ukaz, tako da mi je povedal, da je bolan.

tokrat, Ko sem šel nazaj na osrednji admin, Sem mogel razposlati brez problema.

Upajmo ta bit info bo pomagal nekaj v vezava, ena dni.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Napaka na dan: "Ne morete dodati navedenega zbirnika v GAC”

Jaz sem bil boj proti malo z visual studio 2010 na a sp2010 rešitev in je bil pridobivanje to zmota:

Napaka v programu uvajanja korak "Dodaj rešitev": Napaka: Navedenega zbirnika ni mogoče dodati predpomnilnik globalnega zbira: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

Šla sem na GAC, sama (c:\windowsassembly) poskusiti in odstranite ter got zmota »pila v rabi«.

Sem storil je iisreset, Jaz downloaded skoraj Sysinternals, Ustavil sem se storitev razporejevalnika storitev... končno, Sem pravkar zaprli in ponovno odprli visual studio, sama in mi je končno uspelo blizu to jasno.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro in enostavno: Debugging VS 2010 Raztopina uvajanje

Visual Studio 2010 poročila težko debug napak med uvajanjem nekaj krat.  Hiter in enostaven način za nekatere zelo grobo debugging je vrgel svoj imenovan izjeme.  Visual Studio jim pokazati v izhod konzole.

Razmislite o tem malo kodo:

image

Če ta funkcija je v obsegu do spletnih aplikacij, stran bo biti ničen.  Če poskusite in referenčne nepremičnine strani, boste dobili dvoumen napaka:

Napaka v programu uvajanja korak "Dodaj rešitev": Referenčni objekt ni nastavljena na primer predmeta.

Vendar, Če vrgel novo izjema ter prelaz niz gradbenik, boste dobili nekoliko bolj koristen sporočilo:

image

To je surovo tehnika, vendar zelo hitro in enostavno.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Časovnik Job FeatureActivated in funkcija področje

Sem delal z nekaj kodo, da nekdo izroči me za časovnik zaposlitev.  On ni določeno dejansko funkcija activation zbornik, tako sem napisati to, seveda.  Sem vzel prednost Andrew Connell slaven blog post na predmet.

Uporabljam Visual Studio 2010 in uvajanje kept nezadosten z napako "Napaka v programu uvajanja korak"Dodaj rešitev": Predmet sklic ne nastavite primerek predmeta. «

Bil ob svojo kodo preveč dobesedno.  Sem bil določanje funkcijo na ravni spletne aplikacije, kot je prikazano:

image

Kot posledica, lastnosti, ki so poslana sprejemnik, so iz web aplikacije, ne zbirke mest.  Na koncu, to izgleda zakonika:

javno preglasitve neveljavne FeatureActivated(SPFeatureReceiverProperties lastnosti)
{

    // Ne, naredite to s web app, z obsegom funkcij, vodi do obup Smile
    // SPSite stran = lastnosti.Feature.Parent kot SPSite;

    SPWebApplication wa = lastnosti.Feature.Parent kot SPWebApplication;

    Če (wa == null) met novo izjema("webapp2 je ničelna.");

    foreach (SPJobDefinition delo v wa.JobDefinitions)
    {

        poskusite
        {
            Če (delo.Ime == List_JOB_NAME)

                delo.Brisanje();
        }
        ulova (Izjema e)
        {
            met novo izjema("marker 2");
        } // ulov izjemo e
    }

    // namestite delo

    WeatherForecastTimerJob weatherForecastTimerJob =
        novo WeatherForecastTimerJob(List_JOB_NAME, wa);

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

}

Ključ, ki je prevzem proč je, da ko funkcija je v obsegu web app, SPFeatureReceiverProperties, da SharePoint prehaja sprejemnik funkcija je web app ravni parametrov.  Andrew's stari blog vpis predpostavlja, da je v obsegu zbirke mest.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Kjer je Microsoft.SharePoint.ApplicationPages.Administration.dll?

Sem bil izroči visual studio projekta, ki se sklicuje na Microsoft.SharePoint.ApplicationPages.Administration.dll.  Rabil sem malo medtem ko iskanje misel in bi delež.  Moje okolje, nahaja se na:

c:\program filescommon filesmicrosoft sharedweb server extensions14configadminbin

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

CodePlex projekta – SP2010 Explorer

V okviru tekočih prizadevanj za učenje tehničnih nizke ravni podrobnosti SharePointa 2010, Sem ustvaril a "SharePoint Explorer"vrste orodja.  Ideja ni nova.  Včasih sem ta projekt več kot enkrat: http://sharepointexplorer.codeplex.com/.  Moja ideja je, da ustvarite SharePointovo različico, da uporablja povezane spletne gradnike pokazati vse nizko stopnjo podrobnosti, da lahko zagotovi predmetnega modela. 

Ta blog post služi kot obeh napoved projekta, kot tudi razpis za prostovoljce.  Če ste zainteresirani za delo na tem projektu, povej mi po e-pošti (Galvin.Paul@gmail.com) in smo bom izšlo.

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

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Delo z TreeNodeBinding v ASP.NET Treeview Control

Sem delal na kaj upam, da bo kmalu izdal CodePlex projekt, ki zagotavlja lepo integrirano nekaj spletnih gradnikov, ki se pogovarjajo med sabo preko povezav ponudnika/potrošnikov glede raziskovanja na SharePointovo mesto pod odejo.  (To je zagotovo storiti pred, ampak to je več kot karkoli drugega projekt učenje).  To je pomenilo, da se nadomestilo za windows explorer pogled SharePoint 2010 knjižnice dokumentov.

Koda je običajno rekurzivni klic dol na SPWeb in SPLists iz danega začetni točki.  Predmet, to does, ki prečkajo gradi XML niz, ki izgleda nekako takole:

<SiteCollection url =’http://demo2010a:9090′>
 
<Web
     naslov = "Hello World Sandbox" 
     Predlogi = "mesto za ekipe hitro organizirati, Avtor, in izmenjavo informacij, BLAH BLAH BLAH ">

     <seznam
        naslov = "BCC_Health_Services_FAQs’
        Predlogi = "CustomList’
       
ListId =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</seznam>

     <seznam
        naslov = "BCC_Notifications" 
        Predlogi = "CustomList" 
        ListId =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1 - 877c - 41c 0-9063-b9612be80d5e’>
     </seznam>

  </Web>

</SiteCollection>

Pričakujem, da čist gor ki XML pred vse povedano in storjeno.

Želim, da bi končno dobili informacije in v Treeview control.  Ni ravno zemlja Lomljava stvari.

Izziv, sem vzel o tukaj je bil povezati kontrolnika vira podatkov XML namesto ročno vzpostavitev svoj treenodes, kot sem prečkala drevo v drevesnem pogledu.  Sem storil to, deloma zato, ker namerno delam stvari težje na sebi (To je projekt učenje po vsem) in deloma zato, ker imam to nejasno idejo, da izgradnjo vozlišč drevesa, kot sem prečkala drevo ni dobra ideja za dolgoročno.

Problem s tem pristopom je, da Treeview control ne ve o dobre lastnosti na zanimivo vozlišča kot "seznam" ali "splet", tako da kaže tej izhodni privzeto:

 

image

To ni koristno.  To je, kjer pomaga TreeNodeBinding razred.  Lahko uporabite to povedati Treeview control, kako naj razlagajo XML.  Tukaj je primer:

tnb = nov TreeNodeBinding();
tnb.DataMember = "seznam"; // To je oznaka pri xml za mesto.
tnb.TargetField = "listid";
tnb.ValueField = "naslov";
tnb.ToolTipField = "Predloge";

Ta vezava pove treeview, da, ko ugotovi, a <seznam> vozlišče v XML, uporablja vezi za TargetField, ValueField in ToolTipField.  V maju app, to naslednji zemljevid:

  • TargetField: Ko nekdo klikne na vozlišče vrednost, To je, kaj boste dobili za SelectedNode.Value.  To se ne sme zamenjati z...
  • ValueField: To je tisto, kar želite Treeview razpoložiti uporabniku.
  • ToolTipField: Vrednosti iz XML, ki ga želite kot opis.

Dodati, da TreeNodebinding DataBindings drevesni pogled in boste dobili izhod takole:

 

image

Bom moral bolj na vse to kot nadaljevanje projekta in sčasoma to pripravljeni na Codeplex.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Povezujejo besedilo polja filtra po meri spletnega gradnika

Sem hotel dobiti podatke iz besedilno polje filter v SharePoint 2010 v moji meri spletnega gradnika.  Si se potrudil using Ta članek MSDN kot podlaga, ampak članek je bodisi pretrgana ali sem samo ne po njej pravilno.

Malo več iskanja obrnjen navzgor Mike Smith MSDN prispevek tukaj (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Obstaja veliko stvari tam na gradnika spletne gradnike, vendar Mike's članek je tako enostavno, kot to gets.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Hitro in enostavno: Pošlji Email uporabo Gmaila SMTP strežnik v C# .NET

To ni ravno novo temo, ampak ko sem potreboval, da to storite, Sem našel veliko "zakaj ne bo to delo za mene" in ne preveč neposredne odgovore. Upam, da nekdo najde to koristen.

Naslednji košček od zbornik hoteti spodbuda email using svoj gmail račun uganjati to, vključno s prilogami:

z uporabo System.Net.Mail;
z uporabo System.Net;

NetworkCredential loginInfo = nove NetworkCredential("[Svoj Gmail nagonski podnet posameznika]", "[Svoj Gmail parola]");
MailMessage MSG = nove MailMessage();
MSG. Iz = nove MailAddress("[M Gmail Id]@gmail.com");
MSG. To.Add(nove MailAddress("z paul.galvin@arcovis.com"));
MSG. Predmet = "Testiranje InfoPathu dev predmet";
MSG.Telo = "<HTML><telo><močna>Močno sporočilo.</močna></telo></HTML>";
MSG.IsBodyHtml = True;

foreach (niz aFile v NIPFD.GetAttachmentNamesAndLocations())
{
    MSG.Attachments.Add(nove Priloga(aFile));
} // Dodajanje priponk.

SmtpClient odjemalca = nove SmtpClient("smtp.gmail.com");
odjemalca.EnableSsl = True;
odjemalca.UseDefaultCredentials = FALSE;
odjemalca.Poverilnice = loginInfo;
odjemalca.Vrata = 587;
odjemalca.EnableSsl = True;
odjemalca.Pošlji(MSG);

Nekaj ključnih bitov, ki me je upočasnil in druga opažanja / opombe:

  • Prva vrstica, ki ustvari predmet loginInfo nujno rabiti gmail ID odstrani "@gmail.com”. Tako, Če je moj gmail email ogovor "z sharepoint@gmail.com»in moje geslo je "xyzzy" potem je vrstica bi izgledal:

NetworkCredential loginInfo = nove NetworkCredential("sharepoint", "xyzzy");

  • Svoj gmail račun nastavljen tako, da uporabite SSL in da ni bil problem.
  • Obstaja nekaj nasprotujočih si informacij tam zunaj na kaj vrata. Sem rabil vrat 587 ter to obdelan lep navzlic.
  • V mojem primeru, Tudi sem moral poslati pripete datoteke. Da NIPFD predmet je metoda, ki ve, kjer so svoje priponke. Da se vrača v celoti pot (npr.. "c:\tempattachment1.jpg". V svoj skušnja, Sem imel dva prilog in tako obdelan lep.

Sem rabil visual studio 2008 pisanje to kodo.

</namen>

Naročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

Technorati Tags: ,,,