"Invalid token ',' in class, struct, or interface" nach dem Check-out
Ich habe Probleme beim zusammenstellen eines EPiServer Web-Anwendung nach dem Auschecken von Subversion.
Bekomme ich diesen Fehler
Compiler-Fehlermeldung: CS1519: Ungültiges token ',' in class, struct, or interface member declaration
Quelle Fehler:
Line 116: }
Line 117:
Line 118: public virtual EPiServer.Personalization.SubscriptionInfo, EPiServerSubscription Info {
Line 119: get {
Line 120: return ((EPiServer.Personalization.SubscriptionInfo, EPiServer)this.GetPropertyValue("SubscriptionInfo")));
Quelldatei:
c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\956e6fc5\66c11597\App_Code.9_fan95p.0.cs Line: 118
Wie Sie sehen können aus dem Fehler, diese Datei ist in den "Temporären ASP.NET Files" - Ordner und ist Teil des build-Prozesses. Dies ist nicht mein source-code.
Habe ich gesehen, diese Frage was darauf hindeutet, dass die web-config-enthält Typ-Referenzen
in der angegebenen Namespace".ClassName
AssemblyName" - format.
Also ging ich in mein web.config geändert und der Abschnitt
...
<profile ...>
<properties>
...
<add name="SubscriptionInfo"
type="EPiServer.Personalization.SubscriptionInfo, EPiServer"
provider="SqlProfile" />
...
zu
...
<profile ...>
<properties>
...
<add name="SubscriptionInfo"
type="EPiServer.Personalization.SubscriptionInfo"
provider="SqlProfile" />
...
Dieser entfernt die sofortige oben genannten Fehler, aber dann bekam ich die gleiche Fehlermeldung für eine andere Art. So ging ich durch all die Typen, die in "Namespace.TypeName, AssemblyName" - format und entfernt die ", AssemblyName". Dies hielt die CS1519 Fehler, aber dann fange ich CS0234:
Compiler-Fehlermeldung: CS0234: Der
Typ oder namespace-name
'Personalisierung' existiert nicht in
der Namensraum 'EPiServer' (sind Sie
fehlt ein Assemblyverweis?)Quelle Fehler:
Linie 116: }
Linie 117:
Linie 118: public virtual EPiServer.Die Personalisierung.SubscriptionInfo
SubscriptionInfo {
Linie 119: get {
Linie 120: die Rückkehr
((EPiServer.Die Personalisierung.SubscriptionInfo -) (dies.GetPropertyValue("SubscriptionInfo")));
Ich bin mit VisualStudio 2008, Episerver 5.2.372.7, VisualSVN 1.7.2 und eine Debian-box als das Subversion-repo svn version 1.4.2 (r22196).
Die Anwendung, die in Ordnung, dann ich habe es in der repo. Überprüft es heraus an einen anderen Speicherort auf dem gleichen computer, und drücken Sie F5, und diese Fehler beginnen zu erscheinen.
Hat jemand irgendwelche Vorschläge haben.
UPDATE:
Vielen Dank für Ihre Antworten devio, Zhaph.
Habe ich noch folgende auf meiner Website.config in der <compilation>
Abschnitt:
<assemblies>
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="EPiServer, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.BaseLibrary, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Configuration, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Enterprise, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Implementation, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Lucene, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Scheduler, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Web.WebControls, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.WorkflowFoundation, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.Wsrp, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
<add assembly="EPiServer.XForms, Version=5.2.375.7, Culture=neutral, PublicKeyToken=8fe83dea738b45b7"/>
</assemblies>
Gab es keine <assemblies>
Abschnitt zuvor.
Das Projekt hat alle diese DLLs in seine Referenzen. Alle EPiServer DLLs in den GAC.
Die neue (nicht funktionierende) Check-out ist auf dem gleichen Rechner, auf dem das ursprüngliche Projekt erstellt wurde.
Bekomme ich jetzt :
Parser-Fehlermeldung: Konnte nicht geladen werden
die Datei oder assembly 'EPiServer.Scheduler'
oder eine seiner Abhängigkeiten. Das system
angegebene Datei wurde nicht gefunden.(C:\Projects\web\ProvidentPPC2\ProvidentPPC\web.config Linie 301)
Quelle Fehler:
Line 299: <add name="InitializationModule" type="EPiServer.Web.InitializationModule" />
Line 300: <!--<add name="BasicAuthentication" type="EPiServer.Security.BasicAuthentication, EPiServer" />-->
Line 301: <add name="Initializer" type="EPiServer.Scheduler.Initializer, EPiServer.Scheduler" />
Line 302: <add name="WorkflowRuntime" type="EPiServer.WorkflowFoundation.WorkflowSystem" />
Line 303: <add name="UrlRewriteModule" type="EPiServer.Web.UrlRewriteModule" />
Quelldatei:
C:\Projects\web\ProvidentPPC2\ProvidentPPC\web.config
Line: 301
Sagen, wie ich EPiServer.Scheduler ist in meinem GAC und dem Projekt Hinzugefügt als Referenz.
Mehr Ideen wäre die großartige geschätzt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich auf dieses problem, wie ich war, die Umstrukturierung der dll verweist, die in einem Projekt.
Hatte ich zog die externe/Dritte Teil von dlls aus dem bin-Ordner zu einer Bibliothek Ordner außerhalb des web-Projekt-root.
Mein problem war, dass einige der dll-Verweise nicht copy local auf true gesetzt, so waren Sie nie kopiert den Ordner " bin " auf zu bauen.
Es ist schon eine Weile her, seit ich gefragt, und ich Suche weiter denken, dass ich brauche zu erinnern, was war die Frage und poste die Antwort. Ich denke, das ist es.
Es stellte sich heraus, dass es ein Problem mit der Anwendung Suche nach DLLs, die von EPiServer installiert. Ich bin mir nicht ganz sicher, und ich werde aktualisieren diesen post, sobald ich Gelegenheit, es auszuprobieren auf einem sauberen Computer, ich bin immer noch mitten im Projekt, so dass es nicht eine sehr gute Zeit faffing über.
Die Art, wie ich es behoben war, wenn man die DLLs aus c:\Program Dateien\EPiServer\CMS\VERSION\bin, und setzen Sie Sie in den Papierkorb-Ordner für die Anwendung.
Sobald ich die Möglichkeit zu tun, eine saubere Installation irgendwo ich werde sehen, ob es ist in der Tat das Projekt (was ich bezweifle) oder, wahrscheinlicher, die installation auf meinem computer ist kaputt.
Haben Sie versucht, die verweisen auf die EPiServer Montage richtig?
Ich nehme an, es ist die Anzeige ok in das Projekt Knoten Verweise im Projektmappen-Explorer, und hat noch nicht eine gelbe ausrufen overlay auf?
Vielleicht könnten Sie Referenz im web.config compilation-Bereich sowie:
Können Sie entweder nicht brauchen, die Versionsnummer, oder müssen Sie die Versionsnummer und Kultur geben - es sollte ein paar anderen Assemblys verwiesen wird, gibt es bereits für Referenz.
Könntest du auch versuchen:
und andere Variationen.
Klingt wie eine Assembly Laden Frage, dann:
Überprüfen Sie, dass die EPiServer DLL ist zugänglich in Ihrer neuen Position - wird es installiert auf Ihrem Computer Global Assembly Cache, oder ist es eine lokale Referenz auf den /bin-Ordner? Ist die dll im bin-Ordner? Ist die dll enthalten, die in die source-control?
Ich lief in dieses einige Male getan und es für mich ist, wenn ich manuell kopiert der EPiServer-Assemblys in den Ordner bin. Das funktioniert sicher, aber es ist nicht sehr elegant. Zhaph Lösung mit der Baugruppen-tag sieht viel schöner ich werde versuchen, es beim nächsten mal.
Ich hatte gerade ein ähnliches problem an diesem Nachmittag. Das problem war, dass der EpiServer-dlls wurden nicht in das bin-Verzeichnis der website, also ich hab von bindungsfehlern.
Das Projekt wurde durch einen meiner Kollegen und die relevanten EpiServer dlls Hinzugefügt wurden, als Lösung die Elemente in einem lib-Ordner und auf die von dort. Jedoch, so hatte er ursprünglich geschaffen wurde es von der EpiServer-Projekt-Vorlage, die Bibliotheken wurde automatisch Hinzugefügt, um den bin-Ordner auch. Wenn er aktualisiert die Verweise auf den lib-Ordner, kopieren Sie die lokalen standardmäßig auf false. Diese arbeitete noch auf seiner Maschine durch die ursprünglichen Kopien platziert in den Ordner bin von der Vorlage. Aktualisieren Sie CopyLocal = True behebt das Problem.
Ich hatte gerade das gleiche problem, wieder mit einem EPiServer Website. Es war, weil ich die Referenzierung der EPiServer-DLLs, aber Sie hatten nicht den "copy to local" - Eigenschaft auf true für alle Verweise, und so wurden Sie nicht alle gelegt in das bin-Verzeichnis.
Löschen Sie alles aus dem BIN-Ordner und kopieren Sie alle Dateien aus [BAUGRUPPEN] in BIN-Ordner behoben das problem für mich.
Khizer Jalal
Ich denke, die ursprüngliche Fehlermeldung bedeutete, Sie hatte einen fehlerhaften C# - Ausdruck in
nichts zu tun mit der config-Datei.
Wahrscheinlich haben Sie eingegeben "," statt "." ? (Da der compiler dies liest, Sie bieten 2 Arten in der Besetzung)
Zurückzukehren web.config zu seiner ursprünglichen version, und beheben Sie den Tippfehler, das sollte funktionieren.
update nach Greg ' s Kommentar:
Wusste ich nicht, dass die config-Abschnitt, den Sie geschrieben waren Teil der EPIServer-Konfiguration. Sie hatten Recht, dann entfernen Sie die assembly-Namen.
Aber ich denke, Sie müssen für die Referenz EPiServer von der web-app (Verweis Hinzufügen...). Ich denke, ich habe bemerkt das in meinen Projekten auch: Wenn Sie Auschecken ASP.Net app, um eine neue Position, müssen Sie alle Verweise wieder.