2017-10-13 6 views
0

J'utilise Visual Studio 2017 Enterprise Edition pour développer une application de bureau WinForms qui affiche un rapport SSRS local. Comme VS2017 n'inclut plus le contrôle ReportViewer par défaut, la méthode recommandée consiste à référencer le package NuGet respectif pour le ReportViewer et à ajouter le code pour instancier manuellement le contrôle dans la méthode InitializeComponent du formulaire, comme décrit here. Maintenant: Lorsque je compile ou essaye de déployer l'application via ClickOnce, il y a un nombre significatif d'assemblages que je ne référence pas directement et qui apparemment ne servent à rien à l'application, comme vu dans le suivant capture d'écran.Visual Studio 2017 déploie de nombreux assemblys apparemment inutiles

enter image description here

La liste est longue et avec de nombreux ensembles de l'espace de noms Microsoft.VisualStudio ou l'espace de noms Microsoft.Build. Ces assemblys ainsi qu'un tas de dossiers de traduction se trouvent également dans bin \ debug.

Qu'est-ce que c'est? Ceux-ci n'ont pas été ajoutés dans les versions antérieures de VS! Comment puis-je me débarrasser d'eux? Et quel est ce "c" assemblage?

Répondre

0

Peu importe, j'ai trouvé la solution.

Le problème était que le package NuGet contient également un assembly de conception, qui référence bien sûr l'API Visual Studio pour fournir des fonctionnalités de conception pour le contrôle ReportViewer. La référence à cet assembly a été définie sur "Copy Local = true", ce qui a également entraîné la copie de toutes les dépendances vers la sortie.