Kompilierparameter zum csc-Befehl mit Visual Studio IDE hinzufügen

8

Die Lösung besteht aus zwei Projekten: main.csproj und helper.csproj .

Was ich tun möchte, ist dll, dem helper project als eingebettete Ressource für main.dll zugeordnet wird.

Zu diesem Zweck scheint es angebracht zu sein, ein benutzerdefiniertes Kompilierungsattribut für das Projekt main : /resource: <path to dll> hinzuzufügen.

Das Problem ist, dass ich nicht herausfinden kann, wie dieser Kompilierparameter über die Projekteigenschaft hinzugefügt wird.

PS Vielleicht kann jemand eine andere Lösung vorschlagen, um Änderungen im Kompilierprozess zu vermeiden.

    
DotNetter 17.09.2013, 12:17
quelle

1 Antwort

5

Sie sollten die Helper-Assembly als Ressource in main.csproj hinzufügen können. Dadurch wird MsBuild die richtigen Parameter für csc generieren.

(MsBuild ist die Build-Engine, die von .NET im Allgemeinen bis einschließlich 4.x verwendet wird und auch von VisualStudio verwendet wird.)

Was Sie tun können, um dies einzurichten, ist:

  • Klicken Sie mit der rechten Maustaste im Visual Studio-Lösungsexplorer auf das Projekt Main , und wählen Sie Vorhandenes Element hinzufügen aus. Fügen Sie die Assembly, die als verknüpftes Element eingebettet werden soll, aus dem Ordner bin des Hilfsprojekts hinzu. (Klicken Sie auf den kleinen Pfeil auf der Schaltfläche Hinzufügen im Auswahldialog, um auf die Option zum Hinzufügen als Verknüpfung zuzugreifen.)
  • Setzen Sie in den Eigenschaften des Elements im Projekt Main Aktion auf Eingebettete Ressource .

Kniffliges Bit wäre es, den richtigen Build einzubauen, so dass Sie den Debug-Build oder den Release-Build abhängig von der Konfiguration, die Sie erstellen, einbeziehen. Wenn Sie das brauchen, können Sie entweder:

  • Bearbeiten Sie die Datei main.csproj, um die Variable ${Configuration} in den Pfad für die Helfer-DLL einzufügen.
  • Fügen Sie der Datei main.csproj einen Pre-Build-Schritt hinzu, um ihn in die Assembly an einen festen Ort zu kopieren und die Datei von dort aufzunehmen (das include als Link -Bit wird dann nicht mehr benötigt)

Um sicherzustellen, dass Sie beim Erstellen der Hauptbaugruppe immer die Helper-Assembly erstellen, würde ich Ihnen empfehlen, einen Projektverweis zum Hauptprojekt hinzuzufügen.

    
Marnix van Valen 23.04.2015, 12:36
quelle

Tags und Links