Arkib Kategori: SharePoint Pembangunan

Satu Sebab "Satu atau lebih jenis bidang tidak dipasang dengan betul”

Saya telah membuat tweak kecil semalam untuk sebahagian web yang melakukan query CAML terhadap senarai.  Saya membuat perubahan, digunakan dan mendapat dipukul dengan ralat:

Satu kesilapan yang tidak dijangka telah berlaku dalam Tiga Hari Outlook Cuaca WebPart. Sila hubungi pentadbir sistem. Satu atau lebih bidang jenis tidak dipasang dengan betul. Pergi ke halaman seting senarai hendak menghapuskan bidang ini.

Saya menghadapi satu lagi isu blog nie. lebih awal supaya saya tidak serta-merta berhubung pertanyaan CAML saya dengan ralat yang SharePoint melaporkan kepada saya.  Saya melakukan carian bing cepat dan dan mendapati catatan blog yang berguna ini oleh Nahta Lee  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

Berikut adalah pertanyaan buruk:

pertanyaan. Tanya ="<Jika><Dan><Neq><Nama FieldRef = 'Abbr' /><Nilai jenis = 'Teks'>SFNY</Nilai><Nama FieldRef = 'Abbr' /><Nilai jenis = 'Teks'>SFIS</Nilai></Neq></Dan></Jika>";

Di sini ianya dipasang:

pertanyaan. Tanya ="<Jika><Dan><Neq><Nama FieldRef = 'Abbr' /><Nilai jenis = 'Teks'>SFNY</Nilai></Neq><Neq><Nama FieldRef = 'Abbr' /><Nilai jenis = 'Teks'>SFIS</Nilai></Neq></Dan></Jika>";

Jadi, moral daripada cerita ini: Pastikan anda CAML itu betul atau anda mungkin mendapat ralat blog nie..

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

</akhir>

SharePoint 2010 Penyelesaian Terperangkap dalam "Deploying” Status

Saya menggunakan PowerShell untuk membekalkan penyelesaian ke ladang SharePoint (h / t:  Corey Roth dan beliau blog post). 

Saya kemudian pergi ke admin pusat, diakses Sistem Tetapan dan kemudian "Urus penyelesaian ladang" untuk menggunakan ia ke ladang dan saya (sedikit) kecewa, ia mendapat terperangkap dalam "menggerakkan".

Saya telah melihat isu ini datang banyak kali di forum MSDN, jadi saya agak saraf mengenainya.  Saya mencari di sekitar sedikit dan mendapati artikel ini berguna (oleh orang yang seolah-olah unattributed dari http://www.resolutionsnet.co.uk/).  Saya dibatalkan kerja penempatan dan apabila saya klik ke dalam penyelesaian, ia memberitahu saya bahawa ia telah berjaya digunakan penyelesaian untuk tiga daripada empat pelayan di ladang.

Saya pergi ke pelayan ingkar, menghentikan perkhidmatan pemasa dan semula ia.  Windows pelayan sebenarnya memberitahu saya bahawa perkhidmatan itu gagal untuk bertindak balas kepada arahan, supaya memberitahu saya bahawa ia adalah sakit.

Kali ini, apabila saya kembali ke pusat admin, Saya dapat menggunakan ia dengan tidak ada masalah.

Semoga ini sedikit maklumat akan membantu beberapa dalam satu mengikat satu hari.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Kesilapan Hari: "Tidak dapat Tambah Dewan Ditentukan kepada GAC”

Saya telah telah berjuang sedikit dengan visual studio 2010 pada yang satu penyelesaian yang sp2010 dan mendapat ralat ini:

Ralat berlaku semasa langkah penggunaan 'Tambah solusi': Ralat: Tidak boleh menambah Dewan tertentu untuk cache perhimpunan global: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

Saya pergi ke GAC sendiri (c:\windowsassembly) untuk mencuba dan keluarkan dan mendapat ralat "fail sedang digunakan".

Saya iisreset untuk, Saya hampir turun sysinternals, Saya berhenti dalam Perkhidmatan pemasa dalam Perkhidmatan... akhirnya, Saya hanya ditutup dan dibuka semula visual studio sendiri dan saya akhirnya berupaya menutup ia.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Pantas dan Mudah: VS nyahpepijat 2010 Penggunaan penyelesaian

Visual Studio 2010 Laporan Ralat keras nyahpepijat semasa penggunaan beberapa kali.  Cara yang cepat dan mudah untuk melakukan beberapa penyahpepijatan sangat kasar adalah untuk membuang pengecualian dinamakan sendiri.  Visual Studio akan menunjukkan mereka dalam konsol output.

Anggap ini sedikit kod:

image

Jika ciri ini skop untuk aplikasi web yang, Laman akan menjadi tidak sah.  Jika anda cuba dan rujukan sifat tapak, anda akan mendapat ralat yang samar-samar:

Ralat berlaku semasa langkah penggunaan 'Tambah solusi': Rujukan objek tidak disetkan kepada contoh objek.

Walau bagaimanapun, Jika membuang pengecualian yang baru dan lulus rentetan kepada pengeluar, anda akan mendapat mesej yang sedikit lebih berguna:

image

Ia adalah satu teknik yang mentah, tetapi cukup cepat dan mudah.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Kerja Pemasa FeatureActivated Dan Skop Ciri-ciri

Saya telah bekerja dengan beberapa kod yang seseorang menyerahkan kepada saya untuk kerja pemasa.  Dia tidak memberikan ciri kod pengaktifan sebenar jadi saya terpaksa menulis, sudah tentu.  Saya mengambil kesempatan daripada Andrew Connell posting blog yang terkenal tentang subjek.

Saya menggunakan Visual Studio 2010 dan penggunaan terus gagal dengan ralat "Ralat berlaku dalam langkah penggunaan 'Tambah solusi': Rujukan objek tidak disetkan kepada sebuah instance dari sebuah objek."

Saya telah mengambil kod Nya terlalu literal.  Saya adalah scoping ciri tersebut ke peringkat aplikasi web, seperti yang ditunjukkan:

image

Hasilnya, sifat-sifat yang dihantar ke penerima adalah dari aplikasi web, tidak koleksi tapak.  Pada akhir, Kod kelihatan seperti ini:

awam mengatasi FeatureActivated tidak sah(Sifat-sifat SPFeatureReceiverProperties)
{

    // Tidak melakukan perkara-perkara berikut dengan ciri-ciri skop aplikasi web, Ia membawa kepada putus asa Smile
    // Laman web SPSite = sifat-sifat. Feature.Parent sebagai SPSite;

    SPWebApplication wa = sifat-sifat. Feature.Parent sebagai SPWebApplication;

    jika (WA == ' void ') membuang pengecualian baru("webapp2 adalah tidak sah.");

    foreach (SPJobDefinition kerja di wa. JobDefinitions)
    {

        cuba
        {
            jika (kerja. Nama == List_JOB_NAME)

                kerja. Hapus();
        }
        menangkap (E pengecualian)
        {
            membuang pengecualian baru("penanda 2");
        } // menangkap e pengecualian
    }

    // kerja memasang

    WeatherForecastTimerJob weatherForecastTimerJob =
        WeatherForecastTimerJob baru(List_JOB_NAME, WA);

    Jadual SPMinuteSchedule = baru SPMinuteSchedule();
    Jadual. BeginSecond = 0;
    Jadual. EndSecond = 59;
    Jadual. Selang = 5;
    weatherForecastTimerJob.Schedule = Jadual;
    weatherForecastTimerJob.Update();

}

Kekunci runcit adalah bahawa apabila ciri-ciri skop aplikasi web, SPFeatureReceiverProperties yang SharePoint mengalir kepada penerima ciri anda mempunyai parameter aras aplikasi web.  Andrew's entry blog lama menganggap ia adalah skop lokasi pengumpulan.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Di mana Microsoft.SharePoint.ApplicationPages.Administration.dll?

Saya telah menyerahkan satu projek studio visual yang Microsoft.SharePoint.ApplicationPages.Administration.dll rujukan.  Saya mengambil sedikit masa untuk mencari dan saya fikir saya akan berkongsi.  Dalam persekitaran saya, ia terletak di:

c:\fail-fail program fail biasa microsoft bersama sambungan pelayan web 14 config adminbin

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

CodePlex Projek – SP2010 Explorer

Sebagai sebahagian daripada usaha yang berterusan untuk mempelajari butiran tahap teknikal yang rendah SharePoint 2010, Saya telah mencipta satu "SharePoint Explorer"Jenis alat.  Idea itu bukanlah sesuatu yang baru.  Saya menggunakan projek ini lebih dari sekali: http://sharepointexplorer.codeplex.com/.  Idea saya ialah untuk mencipta versi SharePoint yang menggunakan bahagian web yang berkaitan untuk menunjukkan semua peringkat rendah detail bahawa model objek boleh menyediakan. 

Ini blog post berfungsi sebagai kedua-dua pengumuman projek serta panggilan untuk sukarelawan.  Jika anda berminat untuk bekerja dalam projek ini, maklumkan kepada saya melalui e-mel (galvin.paul @ gmail.com) dan kami akan bekerja keluar.

Di sini adalah projek: http://sp2010explorer.codeplex.com/

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Bekerja Dengan TreeNodeBinding dalam Kawalan Treeview ASP.NET

Saya telah bekerja pada apa yang saya harap akan menjadi tidak lama lagi dibebaskan CodePlex projek yang memberikan sedikit nice bersepadu bahagian web bercakap antara satu sama lain melalui sambungan pembekal / pengguna bagi tujuan meneroka tapak SharePoint di bawah penutup.  (Ini sememangnya telah dilakukan sebelum, tetapi ini adalah satu projek pembelajaran sebanyak apa-apa lagi).  Ini bertujuan untuk menjadi pengganti windows explorer view SharePoint 2010 dokumen perpustakaan.

Kod mempunyai panggilan biasa rekursi turun dan SPWeb SPLists dari satu titik yang diberikan bermula.  Objek yang melakukan segala-lalang di yang membina rentetan XML yang kelihatan seperti ini:

<url sitecollection =’http://demo2010a:9090′>
 
<web
     title = 'Hello World Sandbox' 
     Template = 'Laman untuk pasukan dengan cepat menganjurkan, pengarang, dan berkongsi maklumat, Blah blah blah '>

     <senarai
        title = 'BCC_Health_Services_FAQs’
        Template = 'CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[Saya berkongsi]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</senarai>

     <senarai
        title = 'BCC_Notifications' 
        Template = 'CustomList' 
        listid =’
http://demo2010a:9090/helloworldsandbox[Saya berkongsi]5a5a13d1-877c-41c0-9063-b9612be80d5e’>
     </senarai>

  </web>

</sitecollection>

Saya menjangka untuk membersihkan bahawa XML sebelum semua dikatakan dan dilakukan.

Saya mahu untuk akhirnya mendapatkan maklumat itu dan menjadi kawalan Treeview.  Tidak tepat barangan menghancurkan bumi.

Cabaran yang saya ambil di sini adalah untuk menyambung pandangan pokok untuk kawalan Sumber data XML bukan manual membina treenodes saya kerana saya merentasi pokok itu.  Saya lakukan ini sebahagiannya kerana saya sengaja membuat perkara yang lebih keras terhadap diri saya (ini adalah satu projek pembelajaran selepas semua) dan sebahagiannya kerana saya mempunyai pengertian yang samar-samar yang membina nod pokok kerana saya merentasi pokok itu bukan adalah idea yang baik untuk jangka masa panjang.

Masalah dengan pendekatan ini ialah bahawa kawalan Treeview tidak tahu tentang sifat-sifat yang baik pada nod yang menarik seperti "senarai" atau "web", jadi ia menunjukkan output ini secara lalai:

 

image

Yang tidak berguna.  Ini adalah mana kelas TreeNodeBinding membantu.  Saya boleh menggunakan ini untuk memberitahu kawalan Treeview bagaimana ia harus mentafsir XML.  Berikut adalah contoh:

TNB = baru TreeNodeBinding();
TNB. DataMember = "Senaraikan"; // Ini adalah label dalam xml untuk tapak.
TNB. TargetField = "listid";
TNB. ValueField = "tajuk";
TNB. ToolTipField = "Template";

Mengikat ini menceritakan treeview bahawa apabila ia mendapati <senarai> nod dalam XML, menggunakan pengikatan untuk TargetField, ValueField dan ToolTipField.  Di boleh app, peta ini seperti berikut::

  • TargetField: Seseorang klik apabila pada nilai nod, ini adalah apa yang anda akan mendapat SelectedNode.Value.  Ini tidak boleh dikelirukan dengan ...
  • ValueField: Ini adalah apa yang anda mahu Treeview untuk memaparkan kepada pengguna.
  • ToolTipField: Nilai dari XML yang anda mahu sebagai Tooltip.

Menambah bahawa TreeNodebinding pada DataBindings paparan struktur pohon dan anda mendapat output seperti ini:

 

image

Saya akan mempunyai lebih banyak ke atas semua ini kerana saya terus projek dan akhirnya meletakkan ini pada Codeplex.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Menyambung Penapis Field Teks untuk Web Anda Bahagian Custom

Saya mahu menerima maklumat daripada penapis Field Teks dalam SharePoint 2010 ke bahagian web adat saya.  Saya cuba menggunakan artikel MSDN ini sebagai asas tetapi artikel itu adalah sama ada rosak atau saya hanya tidak mengikuti dengan betul.

A lebih sedikit mencari hadir Mike Smith MSDN sumbangan di sini (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Terdapat banyak barangan di luar sana di bahagian web connectable tetapi artikel Mike adalah seperti mudah kerana mendapat.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Pantas dan Mudah: Hantar E-mel Menggunakan Gmail SMTP Server dalam. BERSIH C #

Ini tidak betul-betul topik baru, tetapi apabila saya diperlukan untuk melakukannya, Saya dapati banyak "mengapa tidak ini bekerja untuk saya" dan jawapan langsung tidak terlalu banyak. Saya berharap seseorang mendapati ini berguna.

Sedikit kod berikut akan menghantar e-mel menggunakan akaun gmail saya sendiri untuk melakukannya, termasuk lampiran:

menggunakan System.Net.Mail;
menggunakan System.Net;

NetworkCredential loginInfo = baru NetworkCredential("[ID Gmail saya]", "[Kata laluan Gmail saya]");
MailMessage msg = baru MailMessage();
msg.From = baru MailAddress("[M Gmail Id]@ Gmail.com");
msg.To.Add(baru MailAddress("paul.galvin@arcovis.com < skrip cf-hash = taipkan"f9e31"=" text/javascript"> / *  * /"));
msg.Subject = "Ujian infopath dev subjek";
msg.Body = "<html><badan><kuat>Satu mesej yang kuat.</kuat></badan></html>";
msg.IsBodyHtml = benar;

foreach (rentetan aFile dalam NIPFD.GetAttachmentNamesAndLocations())
{
    msg.Attachments.Add(baru Lampiran(aFile));
} // Menambah lampiran.

SmtpClient pelanggan = baru SmtpClient("smtp.gmail.com");
client.EnableSsl = benar;
client.UseDefaultCredentials = palsu;
client.Credentials = loginInfo;
client.Port = 587;
client.EnableSsl = benar;
client.Send(msg);

A bit utama beberapa yang perlahan saya turun dan pemerhatian lain / nota:

  • Baris pertama yang mencipta objek loginInfo perlu menggunakan ID gmail dilucutkan "@ Gmail.com". Jadi, jika alamat e-mel gmail saya "Sharepoint@gmail.com"Dan kata laluan saya adalah" xyzzy "maka garis akan kelihatan seperti:

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

  • Akaun gmail saya adalah disediakan untuk menggunakan SSL dan tidak menjadi masalah.
  • Terdapat beberapa maklumat yang bercanggah sana pada port apa untuk menggunakan. Saya menggunakan port 587 dan ia bekerja denda bagi saya.
  • Dalam kes saya,, Saya juga perlu menghantar lampiran. Bahawa objek NIPFD mempunyai kaedah yang tahu di mana saya lampiran yang. Ia adalah kembali laluan sepenuhnya (e.g. "C:\tempattachment1.jpg". Dalam ujian saya, Saya mempunyai dua lampiran dan kedua-dua mereka bekerja denda.

Saya pernah studio visual 2008 untuk menulis kod ini.

</akhir>

Langgan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Technorati Tags: ,,,