Benutzer mit den meisten Antworten
Standarf für "Lokale Kopie" bei Referenzen setzen

Frage
Antworten
-
Hallo
Die DLL's liegen nicht im GAC und kommen auch nicht direkt aus einen Projekt in der gleichen Solution sondern liegen alle in einem Verzeichnis(z.B. auch externe Komponenten für zippen,...).
Wenn es jetzt in diesen Ordner neue Dateien gibt, welche z.B. auch neue DB-Felder benötigen und diese in das Projekt-Bin-Verzeichnis beim erzeugen kopiert werden(Erzeugen der Projekte geht direkt auf die bin-Verzeichnisse) gibt es im Projekt ein Problem, weil die Spalte fehlt. Ich möchte diese neue Spalte/Funktion aber noch gar nicht haben und weiterhin mit der DLL welche bereits früher direkt ins bin-Verzeichnis kopiert wurde arbeiten.
Daher setzt ich das auf false, damit die neue DLL nicht kopiert wird.
Aber da das anscheinend nicht vorgegeben werden kann, müssen wir das so weiterhin manuell machen.
Gruss Christoph
- Als Antwort markiert chmav Montag, 20. September 2010 13:53
Alle Antworten
-
Hallo Christoph,
Lokale Kopie (CopyLocal) wird für Assemblies aus dem globalen Assemby-Cache auf false gesetzt,
siehe Projektverweise für eine detaillierte Beschreibung.Gruß Elmar
-
Hallo Elmar
Wo werden diese Erläutert? Ich kann das ja auch manuell ändern(was wir immer machen müssen) und da spräche ja nichts dagegen, dass man fest vorgeben kann, dass es immer gleich so sein soll.
Ich ging nicht davon aus, dass es hier hilfreich wäre, warum wir das immer umstellen. Die DLL's werden direkt in das bin-Verzeichnis einer Webanwendung erzeugt wo auch schon die DLL's vom kompletten Anwendung liegen. Jetzt kann es vorkommen, dass diese Framework-DLL's welche im bin-Verzeichnis und als Source für den Verweis aus einem anderen Verzeichnis dienen nicht 100% den gleichen Stand haben und so, wenn diese beim Verweis immer kopiert werden, zu Problemen führen kann.
Aber es gibt ja Grundsätzlich einen Grund für diese Einstellung welche wir einfach nicht immer setzen möchten.
Gruss Christoph
-
Hallo Christoph,
Hauptgrund: ausgenommen im GAC kann sich eine Assembly-Version jederzeit ändern.
Was zu Fehlern bei der Übersetzung usw. führen kann, die auch in dem Abschnitt behandelt werden.Und so findest Du u. a. unter Projektverweise
im Abschnitt: Verweise zwischen Projekten und Dateiverweise
... Sie sollten keine Dateiverweise auf Ausgaben eines anderen Projekts in derselben Projektmappe hinzufügen, da dies zu Kompilierungsfehlern führen kann. ...
Auch unterscheidet Visual Studio zwischen Entwicklungszeit und Bereitstellung, aus
Gewusst wie: Festlegen der Eigenschaft Lokale Kopie eines Verweises :Hinweis
Wenn Sie eine Anwendung bereitstellen oder kopieren, die einen Verweis auf eine im GAC
registrierte benutzerdefinierte Komponente enthält, wird die Komponente unabhängig
von der Einstellung Copy Local nicht mit der Anwendung bereitgestellt oder kopiert. ...IMHO solltet ihr eure Gründe für das Vorgehen überdenken...
Gruß Elmar
-
Hallo
Die DLL's liegen nicht im GAC und kommen auch nicht direkt aus einen Projekt in der gleichen Solution sondern liegen alle in einem Verzeichnis(z.B. auch externe Komponenten für zippen,...).
Wenn es jetzt in diesen Ordner neue Dateien gibt, welche z.B. auch neue DB-Felder benötigen und diese in das Projekt-Bin-Verzeichnis beim erzeugen kopiert werden(Erzeugen der Projekte geht direkt auf die bin-Verzeichnisse) gibt es im Projekt ein Problem, weil die Spalte fehlt. Ich möchte diese neue Spalte/Funktion aber noch gar nicht haben und weiterhin mit der DLL welche bereits früher direkt ins bin-Verzeichnis kopiert wurde arbeiten.
Daher setzt ich das auf false, damit die neue DLL nicht kopiert wird.
Aber da das anscheinend nicht vorgegeben werden kann, müssen wir das so weiterhin manuell machen.
Gruss Christoph
- Als Antwort markiert chmav Montag, 20. September 2010 13:53