从 Visual Studio Web 安装项目中排除文件

发布于 2024-09-07 07:27:18 字数 379 浏览 4 评论 0原文

我在 VS 中有一个 Web 安装项目。我将切换到 WiX,但那是将来的事,目前我需要解决以下问题。

我需要从项目中排除一些常见的 dll。所以我构建了项目,VS 更新了检测到的依赖项列表。我排除了它们并构建了安装程序。我使用 Orca 检查文件列表,发现这些文件未包含在安装程序中。

但是,当我清理输出目录、重新加载解决方案并进行构建时,某些依赖项不会显示为已排除!所以他们最终进入了MSI。 (这就是构建机器上发生的情况)。

我认为问题可能在于这些是二级依赖项: 我的应用程序 -> NHibernate.dll -> Antlr3.Runtime.dll (Antlr dll 最终出现在 MSI 中)。

这是一个错误还是我错过了什么?

I have a Web Setup project in VS. I'll be switching to WiX, but that's in the future and currently I need to solve the following issue.

I need to exclude some common dlls from the project. So I build the project, VS updates the list of Detected Dependencies. I exclude them and the setup builds. I check the file list with Orca and the files are not included in the installer.

But when I clean my output directory, reload the solution and do the build, some of the dependencies do not show as excluded! And so they end up in the MSI. (This is what is happening on the build machine).

I think that the problem might be with the fact that these are second-level dependencies:
my app -> NHibernate.dll -> Antlr3.Runtime.dll
(Antlr dll ends up in the MSI).

Is this a bug or am I missing something?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾`听者〃 2024-09-14 07:27:18

我找到了此页面 msdn 上有一个将 排除 标志重置为 False 的解决方法:

重新打开解决方案时会再次包含之前排除的文件

当您从安装项目中排除某个文件时,您可能会发现在关闭并重新打开解决方案后该文件又被包含在内。如果来自两个不同源位置的同一 DLL 文件有两个副本,则可能会发生这种情况。

要解决此错误,请更改其中一个文件的“复制本地”属性:

在解决方案资源管理器中,单击要删除的 DLL 引用。

在“视图”菜单上,单击“属性窗口”。

将“复制本地”属性更改为 False。

I found this page on msdn that has a work-around for the Exclude flag being reset to False:

Previously excluded files are included again when the solution is re-opened

When you exclude a file from a Setup project, you may see that the file is included again after you close and re-open the solution. This may occur if there are two copies of the same DLL file from two different source locations.

To work around this error, change the Copy Local property on one of the files:

In Solution Explorer, click on the DLL reference that you want to remove.

On the View menu, click Properties Window.

Change the Copy Local property to False.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文