Wsp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Wsp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

15 Temmuz 2011 Cuma

Sharepoint 2010: The deployment type "TemplateFile" of file in Project Item is not compatible with a Feature in a Sandboxed Solution

Sharepoint 2010'da uygulama geliştirken wsp paketi oluşturma sırasında aşağıdaki hataları alırsanız;

The deployment type "TemplateFile" of file "%ascxName%" in Project Item "%VisualWebPartName%" is not compatible with a Feature in a Sandboxed Solution.

The Project Item "%VisualWebPartName%" cannot be deployed through a Feature in a Sandboxed Solution.

Sharepoint projenize eklediğiniz Visual Web Part'la ilgili bir ayar sorunu olduğu anlamına geliyor. Bu durumda kontrol etmeniz gereken 2 şey var.

  1. Sharepoint projenize eklediğiniz Visual Web Part'ızın ascx elemanına sağ tıklayıp Properties ekranına geçiyoruz.
























    Açılan Properties ekranında Deployment Type olarak Template File seçiyoruz.
























  2. Yukarıdaki ayar zaten Template File olarak seçiliyse, Sharepoint solution tipiniz zamanında Sandboxed olarak (varsayılan budur zaten) seçilmiştir ve Sandboxed projeler Visual Web Part elemanını içerdiğinde paketlemede bu hatayı alırsınız. Düzeltmek için, Solution Explorer penceresinde iken Sharepoint projemizi seçiyoruz ve Properties penceresine geçiyoruz.























    Properties penceresinde Sandboxed Solution değerini False olarak değiştiriyoruz ve kaydediyoruz.





















Bu değişiklikleri yaptıktan sonra projemiz bundan sonra Farm solution olarak sunulacak ve Visual Web Part'ları destekler hale gelecektir. Paket almaya çalıştığımızda da sorunsuz bir şekilde wsp paketinin oluşturulduğunu göreceğiz.

Kolay gelsin,

Wsp paketi Sharepoint'e nasıl deploy edilir?

Birçok bileşen içeren Sharepoint uygulamanızı geliştirdiniz. Yeri geldi class library'ler, yeri geldi Silverlight uygulamaları olan tüm bu bileşenlerinizi daha önceki postlarda anlattığım şekilde Sharepoint paketinize eklediniz ve paketinizi oluşturup elinizde bir wsp dosyası ile hazır bekliyorsunuz :)

Şimdi bu wsp'yi ne yapıcaz da Sharepoint sunucumuza deploy edicez? Şimdi öncelikle bu deployment süreci elinizdeki Sharepoint projesinin tipine göre değişiklik gösteriyoruz. Proje ilk yaratılırken bir ekranda sormuştu hatırlıyor musunuz projeyi hangi tip istersin diye?


















Hatırlarsın hatırlarsın. Hatta bunu "amann default'u neyse o olsun" diye sandbox'ta bırakıp daha sonra bu posttaki hatayı aldıktan sonra farm'a çevirmiş olabilirsin ;)

Neyse, adım adım Farm ve Sandboxed solution'a göre wsp kurulumu şu şekilde;

Farm
  1. Kurulum yapacağımız Sharepoint sunucusunda güzel bir yere wsp dosyamızı yerleştiriyoruz. Daha sonra Sharepoint 2010 Management Shell komut satırını açıyoruz.

  2. Öncelikle solution'ı ekleme işlemini yapıyoruz. Şöyle:
    Add-SPSolution –LiteralPath "C:\wspName.wsp"
    Bu işlemden sonra bize hangi solutionId ile kaydedildiğini gösteriyoruz. Dikkat ederseniz henüz deploy edilmediğini göreceksiniz.




  3. Daha sonra wsp dosyamızı Install komutu ile Sharepoint sunucumuza yüklüyoruz.
    Install-SPSolution –Identity wspName.wsp –WebApplication http://portalAddress –GACDeployment

  4. Yükleme sonrasında portalımızı açıyoruz. Kökteki sitemiz üzerinden Site Settings --> Site Collection Features ekranına gidiyoruz ve kurulum sonrası burada görünür hale gelen feature'ımızı aktif hale getiriyoruz.




Sandboxed
  1. Kurulum yapacağımız Sharepoint sunucusunda güzel bir yere wsp dosyamızı yerleştiriyoruz. Daha sonra Sharepoint 2010 Management Shell komut satırını açıyoruz.

  2. Öncelikle solution'ı ekleme işlemini yapıyoruz. Şöyle:
    Add-SPUserSolution –LiteralPath "C:\wspName.wsp" –Site http://webapplication/sitecollection

  3. Daha sonra wsp dosyamızı Install komutu ile Sharepoint sunucumuza yüklüyoruz.
    Install-SPUserSolution –Identity SPTestProject.wsp –Site http://webapplication/sitecollection

  4. Yükleme sonrasında portalımızı açıyoruz. Kökteki sitemiz üzerinden Site Settings --> Site Collection Features ekranına gidiyoruz ve kurulum sonrası burada görünür hale gelen feature'ımızı aktif hale getiriyoruz.



Sadece ilk defaya mahsus olmak üzere yükleme işlemini bu şekilde yaptık. Peki daha sonrası? Yeniden oluşturduğumu wsp paketini yine sunucuda uygun bir yere atıyoruz. Sharepoint 2010 Management Shell komut satırımızı açıyoruz ve şu komutu yürütüyoruz;

Farm

Update-SPSolution –Identity wspName.wsp –LiteralPath “C:\wspName.wsp” –GacDeployment


Sandboxed

Update-SPUserSolution –Identity wspName.wsp –Site http://webapplication/site –ToSolution wspName.wsp


Artık bu wsp paketini kullanmak istemiyorsak da sırasıyla;

Farm
  1. Paketi uninstall ediyoruz.
    Uninstall-SPSolution –Identity wspName.wsp –WebApplication http://webapplication

  2. Paketi kaldırıyoruz.
    Remove-SPSolution –Identity wspName.wsp

Sandboxed

  1. Paketi uninstall ediyoruz.
    Uninstall-SPUserSolution –Identity wspName.wsp –Site http://webapplication/sitecollection

  2. Paketi kaldırıyoruz.
    Remove-SPUserSolution –Identity wspName.wsp –Site http://webapplication/sitecollection


Bu şekilde wsp paketlerini Sharepoint portalına yükleme, güncelleme ve çıkarma işlemlerini görmüş olduk. Acılı süreçler gibi görünse de el alışkanlığı ve komut satırının yetenekleri sayesinde zamanla alışılıyor :)

Kolay gelsin,