Ich habe kürzlich .net 3.5 SP1 installiert. Wenn ich eine kompilierte Website bereitgestellt habe, die ein Formular mit der Aktionsgruppe enthält:
%Vor% Ich habe diesen Fehler erhalten.
Methode nicht gefunden: 'Void System.Web.UI.HtmlControls.HtmlForm.set_Action (System.String)'.
Wenn ein anderer Entwickler, der SP1 nicht installiert hat, die kompilierte Site bereitstellt, funktioniert es einwandfrei. Kennt jemand irgendwelche Lösungen dafür?
.NET 3.5 SP1 versucht, das Attribut action=" "zu verwenden (.NET 3.5 RTM nicht). Bei der Bereitstellung versucht der Code daher, die Eigenschaft HtmlForm.Action festzulegen und zu scheitern, da es sich bei der Datei System.Web.dll des Bereitstellungsziels um RTM handelt, die in der Eigenschaft keinen Setter hat.
Ich kenne die spezifische Lösung nicht, aber HtmlForm.set_Action () ist eine Funktion, die der Compiler erstellt und die als Setter für eine Eigenschaft namens Action dient.
Wenn Sie das tun:
%Vor%Der Code set wird tatsächlich zu einer Funktion namens set_Action .
Ich weiß, es ist nicht die beste Antwort, aber ich hoffe, es hilft Ihnen, die Quelle Ihrer Probleme zu finden!
Ich habe gerade das gleiche Problem bekommen.
Von dem, was ich verstanden habe, ist es in der Tat durch die Tatsache verursacht, dass mein PC .NET 3.5 SP1 darauf hat, und der Server, auf den ich das Projekt bereitgestellt hat, nicht
Nach meinem Verständnis ist eine Lösung, dass der Server mit .NET 3.5 SP1 aktualisiert wird. Da ich das noch nicht tun möchte, habe ich nur das Attribut "action" von allen Formularen im Projekt entfernt, und das hat das Problem gelöst.
Lesen Sie mehr
Alles oben Erwähnte ist wahr ...
Wenn man 3.5 SP1 installiert, aktualisiert es automatisch 2.0 und 3.0 mit seinem eigenen SP2. Also, wenn Sie 2.0 für eine Anwendung verwenden, erhalten Sie den Fehler.
Außerdem hat SP1 in .Net2.0 das Problem nicht verursacht.