Frage

Ich arbeite derzeit an einer Serversteuerung für andere Anwendungen in unserem Unternehmen, um mit einem WCF -Dienst mitzuarbeiten. Jedes Mal, wenn ich einen Änderungscode ändern und die Steuerung neu kompile, erhöht ich die Assemblyverison- und AssemblyFileVersion -Klasse in der AsseemblyInfo.cs um eins. Zum Beispiel stand mein neuester Build von 1.0.07.0 bis 1.08.0.

Wenn die Konsumanwendung die Datei aktualisiert, indem die neueste Datei im Bin -Verzeichnis kopiert und versucht zu kompilieren, erhalten sie den folgenden Fehler:

Der Typ- oder Namespace -Name 'MyControl' existiert nicht im Namespace 'myNameSpace' (fehlt dir eine Assembly -Referenz?)

Um diesen Fehler zu beheben, müssen sie die aktuelle Referenz löschen und die Referenz neu anpassen.

Gibt es eine Möglichkeit, die Serversteuerung zu aktualisieren, ohne die Referenz zu löschen und neu zuzusetzen?

Ich benenne die Serversteuerung nicht stark.
@Jpunyon - Meinen Sie die Verbrauchsanwendung, die das Server -Steuerungsprojekt zu ihrer Lösung hinzufügen?

War es hilfreich?

Lösung

Klicken Sie mit der rechten Maustaste auf die Assembly-Referenz in den Lösungs-Explorer, Eigenschaften, deaktivieren Sie die Option "spezifische Version".

Andere Tipps

In meinem Fall war es ein Projekt, das unter Verwendung von Target Framework definiert wurde: ".NET Framework 4.0 Client -Profil", in dem versucht wurde, auf DLL -Projekte zu referenzieren, die mit dem Ziel -Framework definiert wurden: ".NET Framework 4.0".

Sobald ich die Projekteinstellungen geändert habe, um das Ziel Framework zu verwenden: ".NET Framework 4.0" wurde alles gut erstellt.

Klicken Sie mit der rechten Maustaste auf das Projekt-> Eigenschaften-> Anwendung-> Zielframework

Nennen Sie Ihre Versammlungen stark? In diesem Fall ist es keine gute Idee, Ihre Build-Nummer automatisch zu steigern, da Sie mit jeder neuen Build-Nummer auch alle Ihre Referenzen aktualisieren müssen.

Ich habe die Antwort gestoßen, die mich in die richtige Richtung zeigte, aber ...

Für diejenigen, die visuell C ++ verwenden:

Wenn Sie die automatische Inkrementierung der Version deaktivieren müssen, können Sie diesen Wert in der Datei "AssemblyInfo.cpp" ändern (alle CLR-Projekte haben eine). Geben Sie ihm eine echte Versionsnummer ohne Sternchen und es funktioniert so, wie Sie es möchten.

Vergessen Sie einfach nicht, Ihre eigene Versionskontrolle auf Ihrer Montage zu implementieren!

In meinem Fall musste ich die lokale Einstellung kopieren in true ändern (klicken Sie mit der rechten Maustaste im Lösungs-Explorer, wählen Sie Eigenschaften aus, suchen und ändern den Wert der lokalen Eigenschaft der Kopie). Sobald diese Einstellung geändert wurde, kopierte die Veröffentlichung meines WCF -Dienstes die Datei auf den Server und der Fehler verschwand.

Bei der Erstellung eines neuen leeren UWP -Projekts in der Visual Studio 2017 -Community kam dieser Fehler auf.

enter image description here

Nach dem vorgeschlagenen Mittel (Wiederherstellung von Nuget -Cache) wurde die Referenz im Projekt wieder aufgetaucht.

Ich habe diesen Fehler mit einem Azure DevOps Services (MS-Hosted) Build-Pipeline auf einem TFVC-Repo gestoßen.

In meinem Fall arbeitete ich in einer Filiale und hatte versehentlich die Referenz aus dem Paketordner im Kofferraum statt aus der Filiale hinzugefügt. Nachdem ich die Referenz aus dem Zweig hinzugefügt hatte, begann sie erfolgreich zu kompilieren.

IE, während ich an branch-beta sierra.csproj arbeite, verwies ich versehentlich auf trunk pakete delta.dll. Offensichtlich musste ich stattdessen auf Branch-Beta Pakete Delta.dll verweisen. Die Verwechslung trat auf, weil der Pfad nicht prominent in der angezeigt wird Füge Referenz hinzu Fenster und ich habe nicht sorgfältig genug überprüft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top