Possiedo un progetto di applicazione Web ASP.NET che fa riferimento a un altro progetto denominato ModusCore (o Modus.Core). Abbiamo avuto una varietà di controlli che utilizzano ModusCore fino ad ora senza problemi, ma ce n'è uno che ho creato ultimamente e causa problemi. Ecco il codice:Generazione del file di progettazione non riuscita: impossibile caricare il file o il gruppo
public class PortalLinkNew : WebControl
{
public string Text { get; set; }
public bool AllowPush { get; set; }
public PortalLinkNew()
{
AllowPush = true;
}
public IChannelRequest ChannelRequest { get; set; }
protected override HtmlTextWriterTag TagKey
{
get { return HtmlTextWriterTag.A; }
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
try
{
base.AddAttributesToRender(writer);
if (DesignMode || Page == null || !(Page is IPortalPage))
{
return;
}
string href = "/";
if (ChannelRequest != null)
{
var portalPage = (IPortalPage)Page;
href = portalPage.Module.PortalRouter.GetLinkUrl(portalPage, ChannelRequest, AllowPush);
}
writer.AddAttribute(HtmlTextWriterAttribute.Href, href);
}
catch (Exception)
{
}
}
public override void RenderEndTag(HtmlTextWriter writer)
{
writer.Write(Text);
base.RenderEndTag(writer);
}
}
Nel codice precedente, IPortalPage
e IChannelRequest
sono interfacce definite in Modus.Core.
Il mio intento è quello di utilizzare questo controllo nel mio codice come segue:
<tnl:PortalLinkNew ID="CancelButton" runat="server" Text="Cancel" OnInit="CancelButton_Init" />
Questo compila realtà e funziona senza un problema, ma quando sto modificando la pagina (visualizza sorgente) in Visual Studio 2008, ottengo il seguente avviso:
generazione di file di progettazione non è riuscita: Impossibile caricare il file o l'assembly 'Modus.Core, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null' o una delle sue dipendenze. Il sistema non trova il file specificato.
Come si dice, ma non rigenera il file di progettazione, che significa ogni tentativo di fare riferimento al controllo di CancelButton
in code-behind si traduce in un errore di compilazione. Seguendo i consigli che ho trovato online, ho provato a cancellare il corrispondente file .ascx.designer.cs e ad usare "Converti in applicazione Web" su quella pagina, ma mi dice che non è possibile ricostruire il file del designer per la stessa ragione menzionata sopra.
Ho provato tutto quello che posso pensare: pulire la soluzione, riavviare Visual Studio, riavviare il computer, eliminare la directory del codice e recuperarla dal repository, rimuovere e riaggiungere i riferimenti di progetto e dll, ecc. Lo stesso problema si verifica su più computer che uso.
Come si può impedire al progettista VS di non riuscire?
+1 opzione (b) ha lavorato per me – roufamatic
Opzione B ha funzionato per me. Grazie. – William