Kategorija Archives: SharePoint plėtros

Viena iš priežasčių "vieną ar daugiau lauko tipai yra netinkamai įdiegta”

Buvo padaryti maža įgnybti vakar į tinklapio dalis, kurioje nėra CAML užklausą pagal sąrašą.  Aš padariau pakeitimus, Magento ir gavo hit su klaida:

Netikėta klaida įvyko, trys dienos Outlook Weather Forecast valdikliai Tinklapiodalis. Prašome susisiekti su sistemos administratoriumi. Vienas arba daugiau laukų tipų nėra tinkamai įdiegta. Eikite į sąrašo parametrų puslapį, kad juos panaikinti.

Aš susiduria su dar vienas originalus klausimas anksčiau, aš ne iš karto prisijungti mano CAML užklausa su klaida, kad SharePoint buvo atskaitomybės man.  Aš Greita bing paieška ir ir rasti šį pranešimą naudinga dienoraščio pagal Sandeep Nahta  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

Čia yra netinkamas užklausos:

užklausos.Užklausa ="<Tais atvejais, kai><Ir><Neq><FieldRef pavadinimas = "Abbr" /><Vertės tipas = "Tekstas">SFNY</Vertė><FieldRef pavadinimas = "Abbr" /><Vertės tipas = "Tekstas">SFIS</Vertė></Neq></Ir></Tais atvejais, kai>";

Čia ji yra nustatyta:

užklausos.Užklausa ="<Tais atvejais, kai><Ir><Neq><FieldRef pavadinimas = "Abbr" /><Vertės tipas = "Tekstas">SFNY</Vertė></Neq><Neq><FieldRef pavadinimas = "Abbr" /><Vertės tipas = "Tekstas">SFIS</Vertė></Neq></Ir></Tais atvejais, kai>";

Taigi, istorijos moralas yra: Įsitikinkite, kad jūsų CAML yra teisinga ar galite gauti originalus klaida.

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

</pabaigos>

SharePoint 2010 Tirpalas įstrigo "diegimas” Būsena

Naudojamas PowerShell dislokuoti tirpalo SharePoint ūkio (h/t:  Corey Roth ir jo internetinio dienoraščio skelbiamą pranešimą). 

Tada aš centrinis admin, pasiekti sistemos parametrai ir tada "Tvarkyti ūkio sprendimai" panaudoti iki ūkio ir mano (šiek tiek) nerimą, ji pakimba į "diegimas".

Aš mačiau šį klausimą sugalvoti daug kartų MSDN forumai, Todėl buvo labai nervų apie tai.  Ieškoma aplink šiek tiek ir Radau šį naudinga straipsnį (atrodo unattributed asmuo http://www.resolutionsnet.co.uk/).  Aš atšaukti užduotį diegimo ir kai paspaudžia į tirpalą, jis man pasakė, kad jis sėkmingai įdiegta tirpalo su trimis iš keturių serverių ūkyje.

Nuėjau į klystantis serverio, sustabdytas laikmačio paslaugos ir vėl ją.  Windows serverio faktiškai sakė man, kad paslauga nepavyko atsakyti į komandą, Taigi tai man sako, kad jis buvo serga.

šį kartą, kai aš grįžau į centrinės admin, Aš turėjo galimybę dislokuoti be jokių problemų.

Tikimės, kad tai πiek tiek info padės kai įpareigoti vieną iš dienų.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Tos dienos, kai klaida: "Negali įtraukti nurodyto įrenginio į į GAA”

I been gesinimo, šiek tiek su visual studio 2010 dėl a yra sp2010 sprendimas ir gaunu šią klaidą:

Klaida įvyko diegimo žingsnyje "Pridėti sprendimas": Klaida: Negalima pridėti nurodytą Asamblėja visuotinėje rinkinių talpykloje: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

Nuėjau į GAC pati (c:\windowsassembly) išbandyti ir pašalinti ir gavo "failo naudojimo" klaida.

Aš iisreset, Aš beveik atsisiųsti SysInternals, Nustojau laikmačio paslauga paslaugomis... pagaliau, Aš tiesiog uždarėte ir vėl atidarėte pati vaizdo studija ir aš pagaliau galės jį uždaryti.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Greitai ir lengvai: Derinimo VS 2010 Sprendimo diegimo

Visual Studio 2010 ataskaitos sunku derinimo klaidos užmetant kartais.  Greitas ir paprastas būdas padaryti kai kurie labai apytikriai derinimo yra mesti savo įvardintas išimtis.  Visual Studio parodyti jiems produkcijos konsolėje.

Apsvarstyti šį bitų kodas:

image

Jei ši funkcija yra aprėptus interneto programa, svetainė bus būti nulinė.  Jei bandysite ir nurodyti ypatybei svetainės, Jūs gausite neapibrėžta klaida:

Klaida įvyko diegimo žingsnyje "Pridėti sprendimas": Objektas nuoroda nenustatyta objekto pavyzdžiui.

Tačiau, Jei mesti naujas išimtis ir perduoti eilutę konstruktorius, Jūs gaunate šiek tiek daugiau naudingos žinutę:

image

Tai žalios technika, Tačiau gana greitai ir lengvai.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Laikmačio užduoties FeatureActivated ir funkciją taikymo sritis

Aš dirbu su tam tikrą kodą, kad kažkas įteikė man laikmačio užduoties.  Jam nebuvo pateikta faktinis funkcija aktyvavimo kodą, Taigi man teko rašyti, žinoma.  Aš pasinaudojo Andrew Connell garsaus dienoraštyje Šiuo klausimu.

Aš naudoju Visual Studio 2010 ir diegimo nuolat nepavyksta su klaidos "Klaida įvyko diegimo žingsnyje"Pridėti sprendimas": Objektas nuoroda nenustatyta objekto pavyzdžiui."

Aš buvau atsižvelgiant jo kodą per pažodžiui.  Aš buvo scoping funkciją iki interneto, kaip parodyta:

image

Todėl, savybių, kurios yra siunčiamas imtuvo yra iš žiniatinklio programa, nėra svetainių rinkinyje.  Galiausiai, kodas atrodo taip:

visuomenės nepaisyti negaliojančiu FeatureActivated(SPFeatureReceiverProperties savybės)
{

    // Nedarykite šių dalykų žiniatinklio programos srities charakteristika, Jis veda į neviltį šypsena
    // SPSite svetainės = savybes.Feature.Parent kaip SPSite;

    SPWebApplication wa = savybes.Feature.Parent kaip SPWebApplication;

    Jei (WA == null) mesti naujas išimtis("webapp2 yra niekiniai.");

    foreach (SPJobDefinition darbas, wa.JobDefinitions)
    {

        pabandykite
        {
            Jei (darbas.Pavadinimas == List_JOB_NAME)

                darbas.Naikinti();
        }
        sugauti (Išskyrus e)
        {
            mesti naujas išimtis("transporto priemonės 2");
        } // sugauti išimtis e
    }

    // įdiegti darbo

    WeatherForecastTimerJob weatherForecastTimerJob =
        naujas WeatherForecastTimerJob(List_JOB_NAME, WA);

    SPMinuteSchedule grafikas = naujas SPMinuteSchedule();
    grafikas.BeginSecond = 0;
    grafikas.EndSecond = 59;
    grafikas.Intervalą = 5;
    weatherForecastTimerJob.Schedule = tvarkaraštis;
    weatherForecastTimerJob.Update();

}

Klavišą išsinešimui, kad kai ši funkcija yra aprėptus web app, SPFeatureReceiverProperties, kad SharePoint eina į imtuvą funkcija yra web app lygio parametrus.  Andriejaus senas dienoraščio įrašas mano tai scoped į svetainių rinkinį.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Kur yra Microsoft.SharePoint.ApplicationPages.Administration.dll?

Man buvo įteiktas visual studio projektas, kuris nurodo Microsoft.SharePoint.ApplicationPages.Administration.dll.  Jis paėmė mane nedaug o rasti jį ir aš maniau aš norėčiau pasidalinti.  Mano aplinkoje, jis yra įsikūręs:

c:\programa filescommon filesmicrosoft sharedweb server extensions14configadminbin

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

CodePlex projekto – SP2010 Explorer

Kaip dalis vyksta pastangų išmokti techninės žemo lygio detalės SharePoint 2010, Aš sukūriau per "SharePoint Explorer"geras įrankis.  Idėja nėra nauja.  Aš šį projektą daugiau nei vieną kartą: http://sharepointexplorer.codeplex.com/.  Mano idėja yra sukurti SharePoint versiją, kad naudoja prijungti žiniatinklio dalys Rodyti visus žemo lygio išsamiai kad objekto modelis gali būti. 

Šį pranešimą dienoraščio tarnauja kaip ir paskelbia apie projektą, taip pat kvietimas savanoriai.  Jei jus domina šį projektą, susisiekti su manimi elektroniniu paštu (Galvin.Paul@gmail.com) ir mes bus nustatyti.

Čia yra projekto: http://sp2010explorer.codeplex.com/

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Darbo su TreeNodeBinding ASP.NET Treeview kontrolė

Aš dirbu ką tikiuosi bus greitai išleistas CodePlex projektas, kuris numato gražus integruotų tiek kalbėti viena kitai per teikėjas/vartotojų ryšiai siekiant tyrinėti SharePoint svetainėje pagal apima žiniatinklio dalių.  (Tai buvo tikrai padaryta iki, bet tai yra mokymosi projektas, kaip kas nors kitas).  Tai reiškia, kad pakeitimas windows explorer rodiniui SharePoint 2010 dokumentų bibliotekos.

Kodas yra įprasta rekursinis sudirbti ir SPWeb ir SPLists iš tikro atskaitos taško.  Objektą, kuris veikia visus kad einant kaupiasi XML formato eilute, atrodo maždaug taip:

<SiteCollection url =’http://demo2010a:9090′>
 
<interneto
     title = "Sveiki pasaulyje smėlio dėžė 
     Šablonas = "svetainė, kurioje komandos greitai organizuoti, Autorius, ir dalintis informacija, BLAH BLAH BLAH ">

     <sąrašas
        title = "BCC_Health_Services_FAQs’
        Šablonas = "CustomList’
       
ListId =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</sąrašas>

     <sąrašas
        title = "BCC_Notifications" 
        Šablonas = "CustomList" 
        ListId =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1 - 877c - 41c 0-9063-b9612be80d5e’>
     </sąrašas>

  </interneto>

</SiteCollection>

Tikiuosi valyti, kad XML prieš viskas pasakyta ir padaryta.

Noriu, kad galų gale gauti šią informaciją iki ir į Treeview kontrolės.  Ne visai žemės triuškinantis daiktai.

Aš paėmė čia iššūkis buvo medžio rodinyje prie XML duomenų šaltinio kontrolės vietoj rankiniu būdu kurti savo treenodes kaip aš feed medis.  Aš tai iš dalies todėl, kad aš sąmoningai padaryti dalykų sunkiau save (tai yra mokymosi projektas galų gale) ir iš dalies, nes aš tai neaiški sąvoka, kuriant medžio mazgų kaip aš feed medis nėra gera idėja, atsižvelgiant į ilgalaikę perspektyvą.

Šio požiūrio problema yra kad Treeview kontrolės nežino apie gera atributus įdomių mazguose kaip "sąrašą" arba "web", tai rodo tą produkciją pagal numatytuosius nustatymus:

 

image

Tai nėra naudinga.  Tai kur TreeNodeBinding klasės padeda.  Aš galiu naudoti pasakyti Treeview kontrolės, kaip tai turėtų aiškinti XML.  Štai pavyzdys:

tnb lt = naujas TreeNodeBinding();
tnb lt.DataMember = "sąrašas"; // Tai yra xml svetainės kortelė.
tnb lt.TargetField = "listid";
tnb lt.ValueField = "title";
tnb lt.ToolTipField = "Šablonas";

Šio saistymo pasakys, treeview, kad kai ji nustato, kad <sąrašas> XML mazgo, taikyti įsipareigojimus dėl TargetField, ValueField ir ToolTipField.  Gegužės App, tai žemėlapis taip:

  • TargetField: Kai kažkas paspaudžia ant mazgo reikšmę, tai, ką jūs gausite SelectedNode.Value.  Tai nereikėtų painioti su...
  • ValueField: Tai ką norite Rodyti vartotojui Treeview.
  • ToolTipField: Verte iš XML norimą kaip įrankio Patarimas.

Pridėti, kad TreeNodebinding medžio rodinyje DataBindings ir jums gauti išėjimo panašaus:

 

image

Aš turiu daugiau apie visa tai kaip aš toliau projekto ir galiausiai įdėti tai apie Codeplex.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Prie savo individualizuotos žiniatinklio dalies teksto lauko filtrai

Aš norėjau gauti informaciją iš SharePoint teksto lauką filtras 2010 į mano Nestandartiniu interneto dalis.  Bandžiau, naudojant Šis MSDN straipsnis kaip pagrindas bet straipsnis yra arba suskirstytas arba aš tiesiog ne taip jis teisingai.

Truputį daugiau paieškos atlašus Mike Smith MSDN įnašas čia (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Yra daug daiktų iš ten dėl prijungti prie interneto bet Mike's straipsniai yra taip paprasta, kaip ji pasireiškia.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Greitai ir lengvai: Siųsti laiškus naudojant Gmail SMTP serverio .NET C#

Tai nėra tiksliai naują temą, bet kai reikia tai padaryti, Radau daug "kodėl ne šis darbas man" ir ne per daug tiesioginių atsakymų. Tikiuosi, kad kas nors mano, kad tai naudinga.

Į šiuos šiek tiek kodas atsiųs el. laišką naudodami savo "Gmail" paskyrą tai padaryti, įskaitant priedus:

naudojant System.Net.Mail;
naudojant System.Net;

NetworkCredential loginInfo = naujas NetworkCredential("[Mano Gmail numeris]", "[Mano Gmail slaptažodį]");
MailMessage MSG = naujas MailMessage();
MSG.Nuo = naujas MailAddress("[M Gmail numeris]@gmail.com");
MSG.To.Add(naujas MailAddress("paul.galvin@arcovis.com"));
MSG.Tema = "Bandymo infopath dev objektas";
MSG.Įstaiga = "<HTML><įstaiga><stiprus>Aiškią žinią.</stiprus></įstaiga></HTML>";
MSG.IsBodyHtml = tiesa;

foreach (eilutė aFile į NIPFD.GetAttachmentNamesAndLocations())
{
    MSG.Attachments.Add(naujas Priedas(aFile));
} // Pridėti priedai.

SmtpClient klientas = naujas SmtpClient("smtp.gmail.com");
klientas.EnableSsl = tiesa;
klientas.UseDefaultCredentials = klaidinga;
klientas.Kredencialų = loginInfo;
klientas.Port = 587;
klientas.EnableSsl = tiesa;
klientas.Siųsti(MSG);

Keletas pagrindinių bitai, kad man sulėtėjo ir kiti pastebėjimai / pastabos:

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

  • Mano Gmail yra nustatyti naudoti SSL ir tai nebuvo problema.
  • Yra šiek tiek prieštaringi informacijos ten kokį prievadą naudoti. Aš uosto 587 ir tai kuo puikiausiai man.
  • Mano atveju, Taip pat reikia siųsti priedus. Kad NIPFD objektas yra metodas, kuris žino, kur mano priedai. Jis grįžta visiškai kelias (pvz.. "c:\tempattachment1.jpg". Mano bandymas, Aš turėjau du priedai ir jie abu kuo puikiausiai.

Aš vaizdo studija 2008 parašyti šį kodą.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Technorati Tags: ,,,