2017-10-13 4 views
0

Ich verwende Visual Studio 2017 Enterprise Edition, um eine WinForms-Desktopanwendung zu entwickeln, die einen lokalen SSRS-Bericht anzeigt. Da VS2017 das Steuerelement ReportViewer standardmäßig nicht mehr enthält, empfiehlt es sich, das entsprechende NuGet-Paket für ReportViewer zu referenzieren und den Code hinzuzufügen, um das Steuerelement manuell in die InitializeComponent Methode des Formulars zu instanziieren, wie in here beschrieben.Visual Studio 2017 stellt viele scheinbar unnötige Assemblys bereit

Jetzt: Wenn ich kompiliere oder versuche, die Anwendung über ClickOnce bereitzustellen, gibt es eine erhebliche Anzahl von Assemblys, die ich nicht direkt referenziere und die der Anwendung scheinbar keinen Zweck erfüllen, wie im Folgenden dargestellt Bildschirmfoto.

enter image description here

Die Liste geht weiter und weiter mit vielen Baugruppen aus dem Microsoft.VisualStudio Namespace oder dem Microsoft.Build Namespace. Diese Assemblies und auch eine Reihe von Übersetzungsordnern befinden sich ebenfalls in bin \ debug.

Was sind diese? Diese wurden in früheren Versionen von VS nicht hinzugefügt! Wie kann ich sie loswerden? Und was ist diese "c" Versammlung?

Antwort

0

Egal, ich habe die Lösung gefunden.

Das Problem bestand darin, dass das NuGet-Paket auch eine Design-Assembly enthält, die natürlich auf die Visual Studio-API verweist, um Entwurfsfunktionen für das ReportViewer-Steuerelement bereitzustellen. Der Verweis auf diese Assembly wurde auf "Copy Local = true" gesetzt, wodurch alle Abhängigkeiten ebenfalls in die Ausgabe kopiert wurden.