Kategori Arşivleri: SharePoint geliştirme

"Türleri düzgün yüklenmemiş bir veya birden çok alan için bir neden”

Ben küçük bir tweak dün bir web bölümünün bir listeyle caml sorgu yok alıyordu.  Değişiklik yapılmış, o dağıtılan ve bir hata ile çarptı:

Üç gün Outlook Hava durumu Web Bölümü içinde beklenmeyen bir hata oluştu. Lütfen sistem yöneticisine başvurun. Bir veya daha fazla alan türlerini düzgün yüklü değil. Bu alanları silmek için liste ayarları sayfasına gidin.

Hemen caml Sorgumda SharePoint bana raporlama hata ile bağlanıyorum yoktu bu yüzden daha önce başka bir tuhaf sorunu bakan.  Hızlı bing arama yaptı ve ve Bu yararlı blog yazısı bulunamadı tarafından SANDEEP Nahta  (http://snahta.blogspot.com/2009/01/one-or-more-field-types-are-not.html).

Hatalı sorgu aşağıdadır:

sorgu.«Query =»<Burada><Ve><NEQ><FIELDREF adı 'Abbr' = /><Değer türü = 'Text'>SFNY</Değer><FIELDREF adı 'Abbr' = /><Değer türü = 'Text'>SFIS</Değer></NEQ></Ve></Burada>";

Burada çözüldü:

sorgu.«Query =»<Burada><Ve><NEQ><FIELDREF adı 'Abbr' = /><Değer türü = 'Text'>SFNY</Değer></NEQ><NEQ><FIELDREF adı 'Abbr' = /><Değer türü = 'Text'>SFIS</Değer></NEQ></Ve></Burada>";

Yani, hikayenin ahlaki: emin olun, caml doğruluğundan veya tuhaf hata alabilirsiniz.

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

</sonunda>

SharePoint 2010 Çözüm "dağıtımı içinde sıkışmış” Durumu

Ben bir SharePoint grubuna bir çözümü dağıtmak için PowerShell kullanılır (h/t:  Corey Roth ve onun blog yazısı). 

I o zaman went için Merkezi Yönetim, Sistem ayarları ve sonra "Manage çiftlik çözümler" çiftlik ve sistemi dağıtmak için zaman (hafif) dehşet, "dağıtma" sıkışmış var..

msdn forumlarında birçok kez gelip bu sorunu gördüm., Yani bu konuda çok gergindim.  Biraz aradı ve Bu yararlı yazı bulundu (görünüşte unattributed bir kişi tarafından http://www.resolutionsnet.co.uk/).  Dağıtım işi ve ne zaman çözüme tıklandığında iptal, o told beni o başarıyla üç gruptaki dört sunucularının çözüm dağıtılan.

Serseri sunucuya gitti, Zamanlayıcı hizmeti durdurulur ve yeniden başlatılması.  Windows sunucu aslında hizmet komutuna yanıt vermedi söyledi, Böylece, hasta olduğunu söylüyor.

Bu sefer, ne zaman ı went sırt için Merkezi Yönetim, I was güçlü-e doğru hayır problem ile dağıtmak için.

Umarım bu biraz bilgi bazı gün bir bağlama bir yardımcı olacaktır.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Günün hatası: "GAC'ye belirtilen derleme eklenemiyor”

Ben biraz visual studio ile mücadele 2010 üzerinde bir sp2010 çözüm ve was getting bu yanlışlık:

'Add Solution' dağıtım adımda hata oluştu: Hata: Belirtilen derleme genel derleme önbelleğine eklenemiyor: YourAwesomeDLLThat IAmJustNotGoingToInstallRightNow.dll

gac için gitti (c:\windowsassembly) denemek ve kaldırmak ve bir "dosya kullanımda" hata var.

Bir iisreset yaptım, I downloaded neredeyse Sysinternals, Son olarak değerlendirilmek Zamanlayıcı hizmeti durdu, Sadece kapalı ve visual Studio'nun kendisini yeniden açıldı ve nihayet güçlü-e doğru kapatmak.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Hızlı ve kolay: Hata ayıklama vs 2010 Çözüm dağıtım

Visual Studio 2010 ayıklama sabit hata dağıtımı sırasında bazı times raporlar.  Çok kaba bir ayıklama yapmak için hızlı ve kolay bir şekilde adlandırılmış kendi özel durum oluşturmaktır.  Visual Studio onları çıktı konsolda gösterir..

Bu bit kodu düşünün:

image

Eğer bu özelliği bir web uygulaması için kapsamlı, Site boş olacaktır.  Eğer denemek ve sitenin bir özelliği başvurusu, belirsiz hatası alırsınız:

'Add Solution' dağıtım adımda hata oluştu: Nesne başvurusu bir nesnenin örneğine ayarlanmadı.

Ancak, Eğer yeni bir istisna ve kurucusuna bir dize geçmek, biraz daha yararlı bir ileti alıyorum:

image

Ham bir tekniktir, ama oldukça hızlı ve kolay.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Zamanlayıcı iş FeatureActivated ve özellik kapsamı

Kimse bana bir süreölçer iş teslim kodu ile çalışıyoruz.  O olmasaydı sağlanan gerçek özelliğini etkinleştirme kodu yazmak zorunda., Elbette.  Ben yararlandı Andrew Connell'ın ünlü blog yazısı konu üzerinde.

Visual Studio kullanıyorum. 2010 ve dağıtım "'Ekle çözüm' dağıtım adımda hata oluştu bir hata ile başarısız devam etti: Nesne başvurusu bir nesnenin örneğine ayarlanmadı."

Çok tam anlamıyla kendi kodu alıyordu.  Ben web uygulaması düzeyinde özellikle kapsam, görüldüğü gibi:

image

Sonuç olarak, alıcıya gönderilen web uygulamasından özelliklerdir, bir site koleksiyonu.  Sonunda, kodu şuna:

public override void FeatureActivated(SPFeatureReceiverProperties özellikleri)
{

    // Web uygulaması kapsamlı özellikleriyle aşağıdakileri yok, umutsuzluğa yol açar Gülümseme
    // SPSite sitesi = özellikleri.Feature.parent olarak SPSite;

    SPWebApplication wa = özellikleri.Feature.parent olarak SPWebApplication;

    Eğer (WA == null) throw new Exception("webapp2 null olur.");

    foreach (WA SPJobDefinition işi.JobDefinitions)
    {

        deneyin
        {
            Eğer (iş.Adı List_JOB_NAME ==)

                iş.Sil();
        }
        yakalamak (İstisna e)
        {
            throw new Exception("işareti 2");
        } // istisna e yakalamak
    }

    // iş yükleyin

    WeatherForecastTimerJob weatherForecastTimerJob =
        Yeni WeatherForecastTimerJob(List_JOB_NAME, WA);

    SPMinuteSchedule zamanla yeni SPMinuteSchedule =();
    zamanlama.BeginSecond = 0;
    zamanlama.EndSecond = 59;
    zamanlama.Aralığı = 5;
    weatherForecastTimerJob.Schedule = program;
    weatherForecastTimerJob.Update();

}

O zaman özelliği bir web uygulaması için kapsamlı take-away anahtarı olduğunu, SharePoint özelliği Receiver'e geçer SPFeatureReceiverProperties web uygulaması düzeyinde parametreleri vardır.  Site koleksiyonu için kapsamlı Andrew'in eski blog girişi varsayar.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Microsoft.SharePoint.ApplicationPages.Administration.dll olduğu?

Microsoft.SharePoint.ApplicationPages.Administration.dll başvuran bir visual studio proje teslim edildi.  Ben o ve ben düşünce bulmak için paylaşmak o beni biraz aldı.  Benim ortamında, It located at:

c:\Program filescommon filesmicrosoft sharedweb server extensions14configadminbin

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

CodePlex Projesi – SP2010 Explorer

SharePoint teknik düşük düzey ayrıntılarını öğrenmek için sürekli çabası bir parçası olarak 2010, Oluşturduğum bir "SharePoint Explorer"tür aracı.  Fikir yeni değil.  Ben bu projenin birden çok kez kullanılır: http://sharepointexplorer.codeplex.com/.  Benim fikrim kullandığı nesne modeli verebileceğiniz tüm alt düzey ayrıntıları göstermek için web bölümleri bağlı bir SharePoint sürümünü oluşturmaktır. 

Bu blog yazısı arama yanı sıra, projenin iki duyuru için gönüllü hizmet vermektedir.  Bu proje üzerinde çalışmak, e-posta ile bana bildirin (Galvin.Paul@Gmail.com) ve biz bu iş olacak.

İşte Proje: http://sp2010explorer.codeplex.com/

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

TreeNodeBinding: asp.net Treeview denetimi ile çalışma

Ne bir yakında yayımlanan olacak umut üzerinde çalışıyoruz CodePlex Proje güzel entegre biraz web bölümlerini birbirine kapakları altında bir SharePoint sitesi keşfetmek amacıyla sağlayıcı/tüketici bağlantı üzerinden konuşmak sağlar.  (Bu kesinlikle önce yapıldı, ama bu kadar başka bir şey bir öğrenme Projesi).  Bu SharePoint windows explorer görünümü yerine çıkartılacaktır 2010 belge kitaplıkları.

Belirli bir başlangıç tarihinden SPLists'in gelin ve SPWeb's çağrı her zamanki özyinelemeli kodu vardır.  Tüm bu sonrasında yaptığı nesneyi şöyle bir xml dizesi kurar:

<sitecollection url =’http://demo2010a:9090′>
 
<Web
     Başlık = 'Hello World Sandbox' 
     Şablon =' takım hızlı bir şekilde organize etmek için bir site, Yazar, ve bilgi paylaşımı, BLAH BLAH BLAH'>

     <liste
        Başlık ='BCC_Health_Services_FAQs’
        Şablon ='CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[ayrac]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</liste>

     <liste
        adı 'BCC_Notifications' = 
        Şablon 'CustomList' = 
        listid =’
http://demo2010a:9090/helloworldsandbox[ayrac]5a5a13d1-877 c-41 c 0-9063-b9612be80d5e’>
     </liste>

  </Web>

</sitecollection>

Bu kadar xml önce tüm dedi ve bitmiş temizlemek beklediğim.

Sonuçta bu bilgileri yukarı ve bir Treeview denetimi içine almak istiyorum.  Tam olarak toprak yıkıcı malzeme.

Ağaç görünümü ağacı çapraz olarak benim treenodes kadar el ile oluşturmak yerine bir xml veri kaynağı denetimi bağlanmak için burada aldım sorun oldu.  Kısmen bilinçli şeyler kendimi zor yapıyorum çünkü ben bunu (Bu bir öğrenme proje olsa) ve kısmen çünkü ben ağaç düğümlerini ağaç çapraz olarak bina uzun vadede iyi bir fikir değil bu belirsiz kavramı.

Bu nedenle varsayılan olarak bu çıkış gösterir, bu "listesi" ya da "web" gibi ilginç düğümlerde iyi öznitelikler hakkında Treeview denetimi bilmiyor sorunudur:

 

image

Bu yararlı değil.  Bu nerede TreeNodeBinding sınıfı yardımcı olmasıdır.  Ben, Treeview denetimi nasıl bu xml yorumlamak anlatmak için kullanabilirsiniz.  Here's an example:

TNB yeni TreeNodeBinding =();
TNB.DataMember = "liste"; // Bu site xml etikettir.
TNB.TargetField = "listid";
TNB.ValueField = "başlık";
TNB.ToolTipField = "Şablonu";

Bulduğu zaman bu bağlama treeview söyler bir <liste> xml düğümü, TargetField bağlantılarında geçerli, ValueField ve ToolTipField.  May uygulaması, Bu şekilde eşleştirilir:

  • TargetField: Birisi bir düğüm değeri tıkladığında, Bu SelectedNode.Value için ne alırsınız 's.  İle karıştırılmamalıdır budur...
  • ValueField: Kullanıcı görüntülemek için Treeview istediğim budur..
  • ToolTipField: Araç İpucu olarak istediğiniz xml değeri.

TreeNodebinding ağaç görünümünün DataBindings ve böyle çıktı ekleyin:

 

image

Projede devam ve sonunda bu Codeplex üzerinde koyun gibi ben daha bu konuda olur.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Bağlantı metni alan filtrelerini, özel Web Bölümü

Bir metin alanı filtre SharePoint bilgi almak istedim. 2010 benim özel web bölümü.  I güvenilir istimal Bu msdn makalesine ama makalenin temel ya da kırık ya da ben onu doğru aşağıdaki adil değil.

Biraz daha fazla arama geldi Mike Smith msdn katkı Burada (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Orada bağlanılabilir bir web bölümü üzerinde bir sürü ama Ahmet'in makale alır kadar basit.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Hızlı ve kolay: Gmail SMTP sunucu C# .NET kullanarak e-posta gönder

Bu kesinlikle yeni bir konu değil., Ama ne zaman bunu gerek, "Neden bu iş için beni değil" bir sürü buldum ve çok fazla doğrudan cevap. Umarım kimse bu yararlı bulur.

Aşağıdaki kod parçasını kendi gmail hesabı kullanarak e-posta göndereceğiz, ekler de dahil olmak:

kullanma System.Net.Mail;
kullanma System.Net;

NetworkCredential loginInfo = Yeni NetworkCredential("[Benim Gmail ID]", "[Benim Gmail şifre]");
MailMessage msg = Yeni MailMessage();
msg.From = Yeni MailAddress("[M Gmail Id]@gmail.com");
msg.To.Add(Yeni MailAddress("paul.galvin@arcovis.com"));
msg.Konu = "InfoPath dev konu testi";
msg.Beden = "<HTML><vücut><güçlü>Güçlü bir mesaj.</güçlü></vücut></HTML>";
msg.IsBodyHtml = TRUE;

foreach (dize Yerini içinde NIPFD.GetAttachmentNamesAndLocations())
{
    msg.Attachments.Add(Yeni Eki(Yerini));
} // Dosya ekleme.

SmtpClient istemci = Yeni SmtpClient("smtp.gmail.com");
istemci.EnableSsl = TRUE;
istemci.UseDefaultCredentials = yanlış;
istemci.Kimlik bilgileri loginInfo =;
istemci.Bağlantı noktası = 587;
istemci.EnableSsl = TRUE;
istemci.Gönder(msg);

Beni yavaşladı birkaç anahtar bit ve diğer gözlemler / Notlar:

  • LoginInfo nesnesi oluşturur ilk satırı kimliği elimden gmail kullanmak gereken "@gmail.com”. Yani, Eğer gmail e-posta adresim "Bunu sharepoint@gmail.com"ve benim parola"xyzzy"sonra satır gibi görünür:

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

  • Gmail hesabıma SSL kullanacak şekilde kurulmuş ve bu bir sorun değildi.
  • Orada hangi noktasında kullanmak için bazı çelişkili bilgiler. Bağlantı noktası kullanılan 587 ve o amele para cezası için beni.
  • Benim durumumda, Ayrıca ekleri göndermek için gerekir. NIPFD nesnenin nerede benim ekleri olduğunu biliyor bir yöntem vardır. Tam yol geri geliyor (e.g. "c:\tempattachment1.jpg". Benim testte, İki ekleri vardı ve her ikisi de iyi çalıştı.

Visual studio kullanılan 2008 Bu kod yazmak için.

</sonunda>

Benim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

Technorati Tags: ,,,