2016-03-21 5 views
0

Ich bin in einer Situation, in der ich meine Entwicklungsumgebung (VS2015 und Lösung) beim Kunden ablegen muss. Ich frage mich, ob es vielleicht einen besseren Weg gibt, als alle Quellen dort zu haben.Schutz der VS2015-Lösung beim Kunden

Meine Lösung besteht aus mehreren Projekten, deren Hauptbestandteil eine nicht veränderliche Engine ist. Gibt es also einen Weg, dass ich diese Projekte (die sich niemals ändern sollten) als OBJ-Dateien (zum Beispiel) oder andere Dateien, die nicht nur flache Textdateien sind, die alle Quellen enthalten, haben kann? Während andere Projekte (zwei oder drei von ihnen) Source-basiert bleiben würden (weil es mir leichter fällt, diese Quellen dem Client zu zeigen)?

+0

Nur aus Neugier, warum müssen Sie das tun? Ich meine aus technischer Sicht. (Dev-Umgebung @ Client) – Acemad

+1

@Acemad, es ist nicht technisch. Es ist nur für bestimmte militärische Industrien. Also keine externe Entwicklung. –

+0

@Cypher_CS: "Keine externe Entwicklung" bedeutet "keine externen Quellen". Wenn Sie auch keine Quellen vor Ort haben, dann _wo sind die Quellen?! _ – MSalters

Antwort

4

Kompilieren Sie Ihre vertraulichen Quellen in .lib-Dateien und verknüpfen Sie diese mit Ihrem Projekt. Sie könnten auch .DLLs erstellen, aber das wäre mehr Aufwand.

Möglicherweise müssen Sie mehrere Kopien Ihrer LIB-Dateien erstellen, wenn Sie mehrere Projektkonfigurationen haben (z. B. 32 Bit, 64 Bit).

1

Erstellen Sie ein neues Projekt und fügen Sie die gewünschten Lösungen hinzu.

Kompilieren Sie alle anderen Teile, die Sie in der Quelle nicht verschenken möchten, und fügen Sie die kompilierten DLLs als Referenzen hinzu (Klicken Sie mit der rechten Maustaste auf ein Projekt und klicken Sie im Dialogfeld Referenz auf die Schaltfläche "Durchsuchen").

Achten Sie darauf, die Eigenschaft "Copy Local" der hinzugefügten Referenzen auf True zu setzen.

1

Erstellen Sie NuGet-Pakete für die Projektquellen, die Sie nicht teilen oder vor Ort haben möchten.

Verweisen Sie auf diese NuGet-Pakete von Projekten oder Lösungen, die mit der Quelle verfügbar sind.

+0

Benötigt dies eine Internetverbindung? –

+0

Ja, wenn Sie Ihr NuGet-Paket in einem öffentlich zugänglichen NuGet-Repository veröffentlichen (nuget.org). Sie können aber auch Ihren eigenen NuGet-Server vor Ort aufstellen/installieren. –