Error: The language-neutral solution package was not found

Altro giro altro errore sul deploy di un progetto WebPart:

Error: The language-neutral solution package was not found

La solutione l'ho trovata quì:
http://www.mindsharpblogs.com/aaron/archive/2007/08/23/2603.aspx

In pratica nel file solution.xml il nome del progetto da deployare è diverso da quello che avete nella solution.

  1. Chiudete Visual Studio
  2. Modificate il file solution.xml
  3. Riaprite il progetto e deployate

 

VSeWSS Service Error: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

Sto utilizzando Visual Studio 2008 extensions for Windows SharePoint Services 3.0, v1.3 - Mar 2009 CTP per deployare una WebPart come Provider.

Questa ha la sua interfaccia in un'altro progetto (Class Library).

Quando deployio ricevo il seguente errore:

VSeWSS Service Error: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

Togliendo l'implementazione dell'interfaccia, tutto ricominciare a funzionare...

Soluzione 0.5 beta:

Linkare la dll non il progetto (pessima soluzione)

Sembra che, settata correttamente la dll nel file solution.xml, rimuovendo la vecchia dalla GAC e rideployando, insernedo questa volta il progetto nelle reference, il deploy funzioni.

Soluzione 1.0 beta:

Questa soluzione sembra funzionare:

http://oidatsmyleg.wordpress.com/2009/01/28/problems-with-vsewss/

 

Symptoms include constantly encountering this error:

Unable to load one or more of the requested types.
Retrieve the LoaderExceptions property for more information.

I’m using the CTP release of VSeWSS 1.3 for Visual Studio 2008 although the error was also evident using version 1.2.

Update: I’ve found that adding the referenced assemblies to the GAC, resetting IIS then Clean the project in Visual Studio fixes this issue.
I can’t reclaim the hours lost but perhaps this information will help someone else.

WebPart in un piatto di SharePoint con una spruzzata di WebUserControl

Creare WebPart con un'UI un pò carina è IMHO qualcosa di alquanto complicato.

E' interessante, in questi casi e non, utilizzare le WebUserControl.

Purtroppo ancor'oggi con le Visual Studio 2008 extensions for Windows SharePoint Services 3.0, v1.3 - Mar 2009 CTP non è stato creato un progetto che ne supporta direttamente l'utilizzo.

Ma, con un paio di accorgimenti, è possibile utilizzarle.

Vediamo come.

  1. Installiamo le extensions di cui sopra.
  2. Creiamo un progetto di tipo SharePoint -> WebPart
  3. Create/disegnate il vostro WebUserControl in un progetto di tipo ASP.NET Web Application (per questo esempio utilizzerò un ascx di nome WebUserControl1.ascx)
  4. Prendete il contenuto del file WebUserControl1.ascx.designer.cs e riversatelo all'interno del file WebUserControl1.ascx.cs
  5. Eliminate la keyword partial dalla classe
  6. Quello che otterrete è qualcosa del tipo (io ho inserito una Label e un Button):
    public class WebUserControl1 : System.Web.UI.UserControl
    {
        protected Label Label1;
    
        protected Button Button1;
    
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text = DateTime.Now.ToString();
        }
    }
     
  7. Copiate il codice di cui sopra e inseritelo all'interno del namespace del file cs creato
    dal progetto SharePoint WebPart del punto 2
  8. Il risultato sarà il seguente:
    [Guid("2f61a277-7142-4d8d-a72c-4dfd83c6cedb")]
    public class WebPart1 : System.Web.UI.WebControls.WebParts.WebPart
    {
        public WebPart1()
        {
        }
    
        protected override void CreateChildControls()
        {
            base.CreateChildControls();
    
            // TODO: add custom rendering code here.
            // Label label = new Label();
            // label.Text = "Hello World";
            // this.Controls.Add(label);
        }
    }
    
    public class WebUserControl1 : System.Web.UI.UserControl
    {
        protected Label Label1;
    
        protected Button Button1;
    
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text = DateTime.Now.ToString();
        }
    }
     
  9. Adesso potreste anche cancellare il file WebUserControl1.ascx.cs
  10. Aggiungiamo l'item Root File nel nostro progetto SharePoint WebPart
  11. Sotto la directory RootFiles, create le directory Template\ControlTemplates. Questa sarà la directory SharePoint dove verrà copiato il nostro WebUserControl
  12. Copiamo il nostro file WebUserControl1.ascx dall'applicazione ASP.NET Web Application alle directory del punto precedente, in modo da ottenere RootFiles\Template\ControlTemplates\WebUserControl1.ascx e aggiungiamo il file al progetto
  13. Adesso dobbiamo modificare il nostro file WebUserControl1.ascx per far puntare i riferimenti al code-behind alla stessa dll della WebPart. In teoria quello che dovreste avere è:
    <%@ Control Language="C#" AutoEventWireup="true"
    CodeBehind="WebUserControl1.ascx.cs"
    Inherits="WebApplication1.WebUserControl1" %>
    che dovrà diventare:
    <%@ Control Language="C#" AutoEventWireup="true"
    ClassName="WebUserControl1"
    Inherits="WebPart1.WebUserControl1, WebPart1, Version=1.0.0.0,
    Culture=neutral, PublicKeyToken=<token creato dal progetto SharePoint WebPart>"
    %>
     
    in ClassName specifichiamo la classe del nostro WebUserControl copiato nel punto 7,
    mentre in Inherits specifichiamo:
    Namespace.ClassName, Nome_Assembly, Version, Culture, PublicKeyToken

    tutti questi dati lì ho presi da Administrative Tools -> Microsoft .NET Framework 2.0 Configuration
    guardando le proprietà della mia dll della WebPart deployata.

A questo punto potete inserire la WebPart in una pagina e testarla.

 

 Le WebPart vanno testate all'interno di una pagina di SharePoint non nelle WebPart Preview; nella WebPart Preview gli eventi non funzioneranno.

 

Expression Trees

Avevo postato questo link nella sezione link del blog, così facendo non gli ho dato una certa visualizzazione.

Ecco il link, l'articolo è molto interessante:

http://msdn.microsoft.com/en-us/library/bb397951.aspx

 

Tags: