คลังเก็บหมวดหมู่: พัฒนาของ SharePoint

เหตุผลหนึ่งที่ "มากกว่า หนึ่งฟิลด์ชนิดติดตั้งไม่ถูกต้อง”

ฉันถูกทำการบิดตัวเล็กเมื่อวานไปยัง web part ที่ทำแบบสอบถาม CAML กับรายชื่อ  ทำการเปลี่ยนแปลง, ปรับใช้ได้ และมีการเข้าชม ด้วยข้อผิดพลาด:

เกิดข้อผิดพลาดที่ไม่คาดคิดใน WebPart Weather Forecast Outlook วันสาม. กรุณาติดต่อผู้ดูแลระบบ. เขตข้อมูลอย่าง น้อยหนึ่งชนิดติดตั้งไม่ถูกต้อง. ไปหน้าการตั้งค่ารายการการลบเขตข้อมูลเหล่านี้.

ฉันถูกซึ่งอีก oddball ปัญหาก่อนหน้านี้ดังนั้นฉันไม่ได้เชื่อมต่อแบบสอบถามของฉัน CAML ทันทีที่ มีข้อผิดพลาดที่ SharePoint ได้รายงานให้ฉัน  ฉันไม่ค้นหา bing ด่วน และ และ พบบล็อกนี้มีประโยชน์ โดย Sandeep Nahta  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

นี่คือแบบสอบถามไม่ถูกต้อง:

การสอบถามสอบถาม ="<ที่><และ><Neq><ชื่อ FieldRef = 'Abbr' /><ค่าชนิด = 'ข้อความ'>SFNY</ค่า><ชื่อ FieldRef = 'Abbr' /><ค่าชนิด = 'ข้อความ'>SFIS</ค่า></Neq></และ></ที่>";

ที่นี่มันคง:

การสอบถามสอบถาม ="<ที่><และ><Neq><ชื่อ FieldRef = 'Abbr' /><ค่าชนิด = 'ข้อความ'>SFNY</ค่า></Neq><Neq><ชื่อ FieldRef = 'Abbr' /><ค่าชนิด = 'ข้อความ'>SFIS</ค่า></Neq></และ></ที่>";

ดังนั้น, moral การของเรื่องคือ: ตรวจสอบว่า CAML ของคุณถูกต้อง หรือคุณอาจได้รับข้อความแสดงข้อผิดพลาด oddball.

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

</สิ้นสุด>

SharePoint 2010 ติดอยู่ใน "ปรับใช้โซลูชัน” สถานะ

ฉันใช้ PowerShell ในการปรับใช้โซลูชันการฟาร์ม SharePoint (h/t:  Corey Roth และของเขา ติดประกาศบล็อก). 

ผมแล้วไป admin กลาง, เข้าถึงการตั้งค่าระบบ และ "จัดการฟาร์มวิธีแก้ไขปัญหา" การปรับใช้ กับฟาร์ม และเป็นของฉัน (เล็กน้อย) ความท้อแท้, มันได้ติดอยู่ใน "การปรับใช้".

ผมได้เห็นปัญหานี้มาหลายครั้งในฟอรั่ม MSDN, ดังนั้นฉันไม่สวยประสาทเกี่ยวกับมัน  ฉันค้นหาทั่วบิต และ พบบทความนี้มีประโยชน์ (โดยคนจาก unattributed ปรากฏอยู่ http://www.resolutionsnet.co.uk/).  ฉันยกเลิกการใช้งานและเมื่อคลิกเป็นโซลูชั่น, มันบอกฉันว่า มันเรียบร้อยแล้วได้ใช้โซลูชันที่ไปสามของเซิร์ฟเวอร์ที่สี่ในฟาร์ม.

ผมไปยังเซิร์ฟเวอร์ที่ถูกแบล็คลิสต์, บริการจับเวลาหยุด และเริ่มการทำงานนั้น  เซิร์ฟเวอร์ Windows จริง ๆ บอกว่า บริการล้มเหลวเพื่อตอบสนองต่อคำสั่ง, ดังนั้น ที่บอกว่า มันเป็นป่วย.

คราวนี้, เมื่อฉันไปกลับการดูแลจากศูนย์กลาง, ฉันไม่สามารถปรับใช้ได้ไม่ มีปัญหา.

หวังนี้บิตของข้อมูลจะช่วยในการผูกหนึ่งวันบาง.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ข้อผิดพลาดของวัน: "ไม่สามารถเพิ่มแอสเซมบลีที่ระบุลงใน GAC”

ฉันเคยได้ต่อสู้บิต ด้วย visual studio 2010 ในการเป็นโซลูชั่น sp2010 และได้รับข้อผิดพลาดนี้:

เกิดข้อผิดพลาดในขั้นตอนการปรับใช้ 'เพิ่มโซลูชั่น': ข้อผิดพลาด: ไม่สามารถเพิ่มแอสเซมบลีที่ระบุลงในแคชของแอสเซมบลีส่วนกลาง: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

ผมไป GAC ตัวเอง (c:\windowsassembly) ลอง และเอา และได้มีข้อผิดพลาด "แฟ้มที่ใช้งานอยู่".

ค่ะการ iisreset, เกือบถูกดาวน์โหลด sysinternals, หยุดการบริการตัวจับเวลาในการให้บริการ...ในที่สุด, ฉันเพียงแค่ปิด และเปิดสตูดิโอภาพตัวเอง และผมก็จะปิดมัน.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ง่าย และรวดเร็ว: VS การตรวจแก้จุดบกพร่อง 2010 การปรับใช้โซลูชั่น

Visual Studio 2010 รายงานข้อผิดพลาดในการดีบักได้ยากในระหว่างการปรับใช้บางครั้ง  วิธีง่าย และรวดเร็วเพื่อทำการดีบักบางขรุขระมากจะอยู่นอกกระบวนการข้อยกเว้นที่มีชื่อของคุณเอง  Visual Studio จะแสดงพวกเขาใน console แสดงผล.

พิจารณานี้บิตของรหัส:

image

ถ้ามีการกำหนดขอบเขตคุณลักษณะนี้ในการประยุกต์บนเว็บ, เว็บไซต์จะไม่สามารถเป็น null  ถ้าคุณพยายามอ้างอิงคุณสมบัติของไซต์, คุณจะได้รับข้อผิดพลาดไม่ชัดเจน:

เกิดข้อผิดพลาดในขั้นตอนการปรับใช้ 'เพิ่มโซลูชั่น': ไม่ได้ตั้งค่าอินสแตนซ์ของวัตถุอ้างอิงวัตถุ.

อย่างไรก็ตาม, ถ้าโยนข้อยกเว้นใหม่ และผ่านสายอักขระที่เป็นตัวสร้าง, คุณได้รับข้อความมีประโยชน์มาก:

image

เป็นเทคนิคที่หยาบ, แต่สวยง่าย และรวดเร็ว.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

FeatureActivated งานตัวจับเวลาและขอบเขตคุณลักษณะ

ผมทำงาน ด้วยรหัสบางอย่างที่คนตกฉันสำหรับงานจับเวลา  เขาไม่รู้ให้รหัสเปิดใช้งานคุณลักษณะที่แท้จริงจึงได้เขียน, แน่นอน  ฉันใช้ประโยชน์จาก โพสต์บล็อกที่มีชื่อเสียงของแอนดรู Connell ในเรื่อง.

ใช้ Visual Studio 2010 และจัดเก็บล้มเหลว ด้วยข้อผิดพลาด "ข้อผิดพลาดในขั้นตอนการปรับใช้ 'เพิ่มโซลูชั่น': การอ้างวัตถุอิงไม่ได้ตั้งค่าอินสแตนซ์ของวัตถุ"

ฉันถูกนำรหัสของเขาเกินไปอย่างแท้จริง  ฉันถูกกำหนดโครงร่างวิจัยคุณลักษณะระดับแอพลิเคชันเว็บ, ดังที่แสดง:

image

เป็นผล, คุณสมบัติที่ส่งไปยังผู้รับได้จากแอพลิเคชันเว็บ, ไม่มีไซต์คอลเลกชัน  ในสุด, รหัสมีลักษณะดังนี้:

สาธารณะแทนโมฆะ FeatureActivated(คุณสมบัติ SPFeatureReceiverProperties)
{

    // ไม่ มี web app ที่ครอบคลุมถึงคุณลักษณะต่อไปนี้, จะนำไปสู่ความสิ้นหวัง ยิ้ม
    // ไซต์ SPSite =คุณสมบัติFeature.Parent เป็น SPSite;

    SPWebApplication wa =คุณสมบัติFeature.Parent เป็น SPWebApplication;

    ถ้า (wa ==ค่า null) โยนข้อยกเว้นใหม่("webapp2 เป็น null");

    foreach (งาน SPJobDefinition ใน waJobDefinitions)
    {

        ลอง
        {
            ถ้า (งานชื่อ== List_JOB_NAME)

                งานลบ();
        }
        จับ (อีเว้น)
        {
            โยนข้อยกเว้นใหม่("เครื่องหมาย 2 ");
        } // จับอีเว้น
    }

    // ติดตั้งงาน

    WeatherForecastTimerJob weatherForecastTimerJob =
        WeatherForecastTimerJob ใหม่(List_JOB_NAME, wa);

    ตาราง SPMinuteSchedule = SPMinuteSchedule ใหม่();
    กำหนดการBeginSecond = 0;
    กำหนดการEndSecond = 59;
    กำหนดการช่วง = 5;
    weatherForecastTimerJob.Schedule =กำหนดการ;
    weatherForecastTimerJob.Update();

}

คีย์หน่อยคือเมื่อ app เว็บเซิร์ฟคุณลักษณะ, SPFeatureReceiverProperties ที่ SharePoint ผ่านการรับสัญญาณของคุณคุณลักษณะ web app ระดับพารามิเตอร์ได้  แอนดรูว์รายการบล็อกเก่าสันนิษฐานว่าเซิร์ฟไซต์คอลเลกชัน.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

อยู่ที่ Microsoft.SharePoint.ApplicationPages.Administration.dll?

ฉันไม่ตกเป็นโครงการของ visual studio ที่อ้างอิง Microsoft.SharePoint.ApplicationPages.Administration.dll  เอาฉันเพียงเล็กน้อยในขณะที่การค้นหามันและฉันคิด ที่ฉันจะใช้ร่วมกัน  ในสภาพแวดล้อมการทำงานของฉัน, ตั้งอยู่ที่:

c:\โปรแกรม filescommon filesmicrosoft sharedweb server extensions14configadminbin

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

โครงการ CodePlex – SP2010 Explorer

เป็นส่วนหนึ่งของความพยายามในการเรียนต่ำระดับเทคนิคของ SharePoint 2010, เราได้สร้างตัว "SharePoint Explorer"ประเภทของเครื่องมือ  ความคิดไม่ใหม่  ผมใช้โครงการนี้มากกว่าหนึ่งครั้ง: http://sharepointexplorer.codeplex.com/.  ความคิดของฉันคือการ สร้างรุ่น SharePoint ที่ใช้เชื่อมต่อ web parts เพื่อแสดงรายละเอียดระดับต่ำแบบวัตถุสามารถให้ 

บทความบล็อกนี้ทำหน้าที่เป็นทั้งการประกาศของโครงการรวมทั้งการเรียกสำหรับอาสาสมัคร  หากคุณสนใจในการทำงานในโครงการนี้, แจ้งให้เราทราบผ่านทางอีเมล์ (galvin.paul@gmail.com) และเราจะทำงานออก.

นี่คือโครงการ: http://sp2010explorer.codeplex.com/

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ทำงานกับ TreeNodeBinding ในการควบคุม ASP.NET Treeview

ฉันได้ทำงานในสิ่งที่ฉันหวังว่า จะเป็นเร็ว ๆ นี้ออก CodePlex โครงการที่มีบิตรวมดีส่วนเว็บที่พูดคุยกันผ่านการเชื่อมต่อผู้ให้บริการ/ผู้บริโภคเพื่อสำรวจไซต์ SharePoint ที่ครอบคลุม  (นี้แน่นอนแล้วก่อน, แต่นี้เป็นโครงการเรียนรู้ถึงสิ่งใด).  นี้จะหมายถึงการแทนมุมมอง explorer windows ของ SharePoint 2010 ไลบรารีเอกสาร.

รหัสซ้ำปกติโทรลงของ SPWeb และ SPLists จากการเริ่มต้นกำหนดจุด  สตริง XML ที่ดูเหมือนสร้างวัตถุที่ไม่ข้ามสิ่งกีดทั้งหมดที่ขวาง:

<sitecollection url =’http://demo2010a:9090′>
 
<เว็บ
     ชื่อ = 'สวัสดี โลก Sandbox' 
     แม่=' ไซต์สำหรับทีมงานเพื่อจัดระเบียบได้อย่างรวดเร็ว, ผู้เขียน, และใช้ข้อมูลร่วมกัน, BLAH BLAH BLAH'>

     <รายการ
        ชื่อ ='BCC_Health_Services_FAQs’
        แม่ ='CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</รายการ>

     <รายการ
        ชื่อ = 'BCC_Notifications' 
        แม่ = 'CustomList' 
        listid =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1 - 877c - 41c 0-9063-b9612be80d5e’>
     </รายการ>

  </เว็บ>

</sitecollection>

ต้องทำความสะอาดที่ XML ก่อนทั้งหมดจะพูด และทำ.

ต้องการรับข้อมูลสุด ขึ้น และลง ในตัวควบคุม Treeview  ไม่ว่าเอิร์ทสิ่งซึ่งทำให้ป่นปี้.

ความท้าทายที่ผมเอาที่นี่เชื่อมต่อมุมมองทรีตัวควบคุมแหล่งข้อมูล XML แทนด้วยตนเองสร้างขึ้น treenodes ของฉันเป็นฉันข้ามต้นได้  ฉันไม่นี้เนื่องจากตั้งใจทำสิ่งที่ยากในตัวเอง (นี้เป็นโครงการเรียนรู้จาก) และเนื่อง จากมีความนี้คลุมเครือที่สร้างโหนดแผนภูมิฉันข้ามต้นไม้ไม่ใช่ความคิดที่ดีในระยะยาว.

ปัญหา ด้วยวิธีการนี้คือการ ที่ตัวควบคุม Treeview ไม่ทราบเกี่ยวกับคุณลักษณะดีบนโหนน่าสนใจเช่น "รายการ" หรือ "เว็บ" เพื่อแสดงผลนี้ตามค่าเริ่มต้น:

 

image

ที่ไม่มีประโยชน์  ที่คลา TreeNodeBinding ช่วยได้  ฉันสามารถใช้นี้เพื่อบอกตัวควบคุม Treeview วิธีนั้นควรแปล XML  นี่คือตัวอย่าง:

tnb = TreeNodeBinding ใหม่();
tnbDataMember = "รายการ"; // นี่คือป้ายชื่อใน xml สำหรับไซต์.
tnbTargetField = "listid";
tnbValueField = "ชื่อเรื่อง";
tnbToolTipField = "แม่";

ผูกนี้บอกการ treeview ซึ่งเมื่อพบการ <รายการ> โหนใน XML, ใช้ผูกสำหรับ TargetField, ValueField และ ToolTipField  ในพฤษภาคม app, นี่แผนที่ดังนี้:

  • TargetField: เมื่อมีคนคลิกที่ค่าโหนด, นี่คือสิ่งที่คุณจะได้รับการ SelectedNode.Value  นี้จะไม่สับสนกับ...
  • ValueField: นี่คือสิ่งที่คุณต้อง Treeview เพื่อแสดงให้ผู้ใช้.
  • ToolTipField: ค่าจาก XML ที่คุณต้องการเป็นมือ.

เพิ่มที่ TreeNodebinding DataBindings ของมุมมองแผนภูมิและคุณได้รับผลเช่นนี้:

 

image

ฉันจะมีมากขึ้นทั้งหมดนี้ฉันกับโครงการต่อไป และในที่สุดทนนี้บน Codeplex.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

การเชื่อมต่อตัวกรองเขตข้อมูลข้อความไปยัง Web Part ของคุณเอง

อยากจะได้รับข้อมูลจากตัวกรองข้อความฟิลด์ใน SharePoint 2010 ในส่วนของฉันเว็บแบบกำหนดเอง  พยายามใช้ บทความนี้ MSDN เป็นพื้นฐานแต่บทความ เป็นอย่างใดอย่างหนึ่งเสีย หรือฉันกำลังไม่ต่อมันอย่างถูกต้อง.

เปิดค้นหาเพิ่มเติมเล็กน้อย Mike Smith สัดส่วนของ MSDN ที่นี่ (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

มีจำนวนมากของสิ่งที่ออกมีในส่วนเว็บต่างหาก แต่บทความของไมค์จะได้เป็น.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ง่าย และรวดเร็ว: ส่งอีเมล์ที่ใช้ Gmail SMTP Server ในNET C#

ไม่ตรงหัวข้อใหม่, แต่เมื่อฉันจำเป็นต้องทำ, พบมาก "ทำไมจะไม่ทำงานนี้สำหรับฉัน" และคำตอบโดยตรงไม่มากเกินไป. หวังว่าคนพบนี้มีประโยชน์.

บิตการต่อไปนี้ของรหัสจะส่งอีเมล์ที่ใช้บัญชี gmail ของตัวเองจะทำได้, รวมทั้งสิ่งที่แนบมา:

โดยใช้ System.Net.Mail;
โดยใช้ System.Net;

NetworkCredential loginInfo = ใหม่ NetworkCredential("[ID ของฉัน Gmail]", "[รหัสผ่านของ Gmail]");
MailMessage msg = ใหม่ MailMessage();
msgจาก = ใหม่ MailAddress("[M Gmail Id]@gmail.com");
msgTo.Add(ใหม่ MailAddress("paul.galvin@arcovis.com"));
msgเรื่อง = "ทดสอบเรื่อง dev infopath";
msgร่างกาย = "<html><เนื้อความ><รัดกุม>ความแข็งแรง</รัดกุม></เนื้อความ></html>";
msgIsBodyHtml = จริง;

foreach (สายอักขระ aFile ใน NIPFDGetAttachmentNamesAndLocations())
{
    msgAttachments.Add(ใหม่ สิ่งที่แนบมา(aFile));
} // เพิ่มสิ่งที่แนบ.

SmtpClient ไคลเอ็นต์ = ใหม่ SmtpClient("smtp.gmail.com");
ไคลเอ็นต์EnableSsl = จริง;
ไคลเอ็นต์UseDefaultCredentials = เท็จ;
ไคลเอ็นต์ข้อมูลประจำตัว = loginInfo;
ไคลเอ็นต์พอร์ต = 587;
ไคลเอ็นต์EnableSsl = จริง;
ไคลเอ็นต์ส่ง(ข่าวสารเกี่ยวกับ);

บิตสำคัญบางอย่างที่หน่วง me ลงและสังเกตอื่น ๆ / หมายเหตุ:

  • บรรทัดแรกที่สร้างวัตถุ loginInfo ต้องใช้ gmail ID เปลื้อง "@gmail.com”. ดังนั้น, ถ้าที่อยู่อีเมล์ของ gmail "sharepoint@gmail.com"และรหัสผ่านของฉันคือ"xyzzy"บรรทัดแล้วจะมีลักษณะเหมือน:

NetworkCredential loginInfo = ใหม่ NetworkCredential("sharepoint", "xyzzy");

  • มีตั้งค่าบัญชี gmail การใช้ SSL และที่ไม่มีปัญหา.
  • มีข้อมูลบางอย่างขัดแย้งกันออกมีในพอร์ตใดใช้. ใช้พอร์ต 587 และจะทำงานที่ดีสำหรับฉัน.
  • ในกรณีของฉัน, ฉันยังต้องการส่งสิ่งที่แนบ. วัตถุ NIPFD ที่มีวิธีการที่รู้อยู่ที่สิ่งที่แนบมาของฉัน. มันเป็นความเต็มเส้นทาง (เช่น. "c:\tempattachment1.jpg". ในการทดสอบของฉัน, ฉันมีสองสิ่งที่แนบมา และพวกเขาทั้งสองทำงานดี.

ใช้ visual studio 2008 การเขียนรหัสนี้.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

แท็กของ Technorati: ,,,