wir unsere Web-Anwendungen von .NET-Framework 3,5-4,5Fehler während der Migration .NET Framework 3,5-4,5
Auf unserer Entwicklung Maschinen migrieren, verwenden wir VS2012 und Ausführen von Windows 7 OS
In diesem Prozess wir haben die folgenden Fehler
die Basisklasse enthält das Feld ‚htmlTag‘, aber seine Art (System.Web.UI.HtmlControls.HtmlGenericControl) ist nicht mit der Art der Steuerung (System.Web.UI kompatibel. HtmlControls.HtmlElement)
Die entsprechende HTML ist
<html xmlns="http://www.w3.org/1999/xhtml" class="no-js" runat="server" id="htmlTag">
Und der entsprechende Designer-Code ist (.cs.designer Datei)
protected global::System.Web.UI.HtmlControls.HtmlGenericControl htmlTag;
Voll Stack-Trace hier ..
System.Web .HttpParseException (0x80004005): Die Basisklasse enthält das Feld 'htmlTag', aber ihr Typ (System.Web.UI.HtmlControls.HtmlGenericControl) ist nicht kompatibel mit mit dem Steuerelementtyp (System.Web.UI.HtmlControls.HtmlElement). bei System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildFieldDeclaration (Control builder) bei System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder (Control Builder, Boolean fInTemplate, Boolean topLevelControlInTemplate, Property PSE) an System.Web.Compilation.BaseTemplateCodeDomTreeGenerator.BuildSourceDataTreeFromBuilder (Control Builder , Boolean fInTemplate, Boolean topLevelControlInTemplate, PropertyEntry pse) bei System.Web.Compilation.TemplateControlCodeDomTreeGenerator.BuildMiscClassMembers() at System.Web.Compilation.PageCodeDomTreeGenerator.BuildMiscClassMembers() bei System.Web.Compilation.BaseCodeDomTreeGenerator.BuildSourceDataTree() at System.Web .Compilation.BaseCodeDomTreeGenerator.GetCodeDomTree (CodeDomProvider CodeDomProvider, StringResourceBuilder stringResourceBuilder, VirtualPath virtualPath) bei System.Web.Compilation.BaseTemplateBuildProvider.GenerateCode (Assemblyassembly) bei System.Web.Co mpilation.AssemblyBuilder.AddBuildProvider (Buildprovider Buildprovider) bei System.Web.Compilation.AssemblyBuilder.AddBuildProvider (Buildprovider Buildprovider) bei System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() bei System.Web.Compilation.BuildProvidersCompiler.PerformBuild() bei System. Web.Compilation.BuildManager.CompileWebFile (VirtualPath virtualPath) bei System.Web.Compilation.BuildManager.GetVPathBuildResultInternal (VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) bei System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert (HttpContext-Kontext, VirtualPath virtualPath, boolesches noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) bei System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory (VirtualPath virtualPath, HttpContext-Kontext, Boolean allowCrossApp, Boolean throwIfNotFound) bei Syste m.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath (VirtualPath virtualPath, Typ requiredBaseType, Httpcontext Kontext, Boolean allowCrossApp) bei System.Web.UI.PageHandlerFactory.GetHandlerHelper (Httpcontext Kontext, String request, VirtualPath virtualPath, String physicalPath) bei System.Web. HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep (IExecutionStep Schritt, Boolean & completedSynchronously) Fehler Methode: Void AddBuildProvider (System.Web.Compilation.Buildprovider) Hilfe-Link:
um dieses Problem zu beheben wir die Schritte unter diesem Link http://support.microsoft.com/kb/941824/en-us
Im Wesentlichen gegeben folgten wir einfach den HTML schneiden und fügen Sie ihn zurück .. und den Designer-Code regeneriert wird wie folgt
Das sieht logisch aus, um das Problem zu beheben, und es funktionierte auch auf wenigen Maschinen, aber die gleiche Lösung brach Code auf anderen Entwickler-Maschinen und vor allem Code für unsere Produktion Web-Server. Bitte beachten Sie, dass Windows Server 2008 R2 Datacenter auf unserem Produktionsserver ausgeführt wird und wir .Net Framework 4.5 auf dem Computer installiert haben. Im Folgenden ist der Fehler, den wir nach dem Wechsel bekommen
Die Basisklasse enthält das Feld ‚htmlTag‘, aber seine Art (System.Web.UI.HtmlControls.HtmlElement) ist nicht kompatibel mit der Art der Steuerung (Systems. Web.UI.HtmlControls.HtmlGenericControl)
Sie sehen die Fehlermeldung in diesem Beitrag auf die erste Fehlermeldung direkt gegenüber ist
in jenen Maschinen, die jetzt Fehler, wenn wir die Art der Kontrolle nur verlassen zu HTMLGenericControl
der Fehler verschwindet
Wir haben versucht, das .net Framework bezogenen Service Pack auf den Maschinen zu vergleichen, die gegen die, die arbeiten, die nicht und wir gar nicht bemerkte nichts wirklich, die möglicherweise den Fehler
Diese Situation nicht akzeptabel führen könnten, da wir Teams aus ganz ausgebreitet haben mehrere geografische Standorte und wir können nicht mit jedem von ihnen über die Art und Weise, wie sie ihre lokale Umgebung reparieren können, koordinieren. Mehr über uns nicht beim Check-in dieser Datei mit Änderungen kann, da es für viele Menschen brechen und die Freigabe dieser die Produktion wird schwierig sein, zu
Könnten Sie uns bitte helfen, dieses Problem zu beheben
‚wir haben .Net Framework 4.5 auf dem Rechner installiert '-> Aber ist der AppPool für die App tatsächlich so konfiguriert? (zB wie in VS, wo Sie eine CLR auswählen, um gegen Sie zu kompilieren wählen Sie eine CLR aus, auf der auf der Serverseite ausgeführt werden soll). (Application Pool - Wählen Sie die richtige - Grundeinstellungen -.Net Framework Version – tolanj
In IIS ist bereits die .NET Runtime-Version 4.0 –
haben Sie überprüft web.config Zeilen eingeben? –
tolanj