简体   繁体   English

Setup Project正在添加内置的.NET Framework .System程序集以进行输出

[英]Setup Project is adding built in .NET Framework .System assemblies to output

I'm using VS Community 2015, with Setup Project extension . 我正在使用VS Community 2015,其中包含Setup Project扩展 I've never seen this problem working with 2010. The problem is that when I add a project to the output, the Detected Dependencies list all dll's I've used in the project, including the built in ones: 我从未见过这个问题与2010一起工作。问题是当我将一个项目添加到输出时,Detected Dependencies列出了我在项目中使用的所有dll,包括内置的:

在此输入图像描述

After I run the installer, it then proceeds to install a hundred dll files, including files that should be part of .NET Framework, like: 运行安装程序后,它继续安装一百个dll文件,包括应该是.NET Framework一部分的文件,如:

  • System.IO.dll System.IO.dll
  • System.Linq.dll System.Linq.dll

I made sure that: 我确信:

  • I have all my projects set to .NET 4.5.2 我将所有项目设置为.NET 4.5.2
  • inside Setup Project, I have the target .NET framework set to .NET 4.5.2 在Setup Project中,我将目标.NET框架设置为.NET 4.5.2
  • inside Setup Project, I have the Prerequisite set to .NET 4.5.2 在Setup Project中,我将Prerequisite设置为.NET 4.5.2

What am I doing wrong? 我究竟做错了什么? How can I get the setup to install only the dll's that are not part of .NET Framework (like Caliburn, or NLog). 如何让安装程序只安装不属于.NET Framework的dll(如Caliburn或NLog)。 Thanks. 谢谢。

EDIT 1: As per 'Claudius' question, here's a list of .NET frameworks supposedly installed on my machine. 编辑1:根据'Claudius'的问题,这里有一个据说安装在我的机器上的.NET框架列表。 Note that, I'm trying to install on the same machine I'm developing on. 请注意,我正在尝试安装在我正在开发的同一台机器上。 My /bin/Release folder doesn't have any of the .NET .System directories and the application runs fine from there. 我的/ bin / Release文件夹没有任何.NET .System目录,应用程序运行正常。 在此输入图像描述

EDIT 2: Found another person with a similar problem. 编辑2:发现另一个有类似问题的人。 Sadly unsolved: Visual Studio Setup Project: Huge list of dependencies 遗憾地未解决: Visual Studio安装项目:巨大的依赖项列表

This might be a Visual Studio issue related to using project output. 这可能是与使用项目输出相关的Visual Studio问题。 If you have, for example, just a handful of files that you want to install to the Application Folder, maybe some to the GAC, then just add those individual files to those locations in the File System on Target Machine view. 例如,如果您要将几个文件安装到应用程序文件夹(可能是某些文件到GAC),那么只需将这些文件添加到目标计算机视图上的文件系统中的那些位置即可。

It might also be related to the CopyLocal setting, I'd make sure it isn't set for assemblies. 它也可能与CopyLocal设置有关,我确保它没有为程序集设置。

I'd also make sure that you haven't got that setting that causes Visual Studio's "Add Reference" to include assemblies from the GAC instead of the appropriate SDK assemblies. 我还要确保您没有得到导致Visual Studio的“添加引用”的设置,以包含来自GAC的程序集而不是相应的SDK程序集。

If you select a dll (eg System.IO) which you are sure it's already in the .NET framework, you can set the property Exclude in the property window to True . 如果选择一个dll (例如System.IO),您确定它已经在.NET框架中,则可以在属性窗口中将属性Exclude设置为True

The dll will not be copied into the setup file. dll不会被复制到安装文件中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM