问题标签 [copy-local]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
80586 浏览

.net - 什么时候应该将 copy-local 设置为 true,什么时候不应该?

我想知道何时设置copy-local=true参考是否有任何启发式方法?

如果引用类型仅在内部使用,我可以设置copy-local为,true但如果引用类型作为参数或返回值公开,我设置copy-localfalse并指示在使用我的库时应该引用特定版本的依赖项?

任何人都可以为我澄清这一点吗?

0 投票
4 回答
9549 浏览

visual-studio - 如何在未经我许可的情况下让 Visual Studio 在构建期间停止复制 DLL?

我有一个依赖于几个 DLL 引用的 Visual Studio 项目。这是我的 csproj 中这些引用的示例:

但是,当我将此类作为项目依赖项包含在网站项目中时,Visual Studio 会查找上面显示的依赖项的依赖项。在构建过程中,Visual Studio 会将“Copy Local”属性默认为“True”,并将这些依赖项复制到我网站的 ~/bin 目录中。

这反过来又会覆盖该目录中已存在的 DLL 文件的版本。这会导致以下错误:

无法加载文件或程序集 'Class5.Project5, Version=3.6.1861.2, Culture=neutral, PublicKeyToken=dfeaee0e3978ac79' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

如何使 Visual Studio 将所有内容的“复制本地”设置默认为“假” ?我不希望 Visual Studio 在构建期间自动复制 DLL 文件。我也不想将我的构建绑定到非常特定的 DLL 版本。

0 投票
1 回答
508 浏览

silverlight - 如果在 Visual Studio 或构建服务器中构建,Xap 文件内容会发生变化

我在 Silverlight 4 应用程序中使用 MEF 来动态加载 xap 文件。为了优化这个过程,我从我的 xap 中删除了各种程序集,因为我知道它们已经被基础 xap 加载。这减小了我动态加载的 xap 的大小。我通过将每个程序集引用的“复制本地”标志设置为“假”来实现这一点。

当我在 Visual Studio 2010 中构建时,这一切似乎都运行良好——我的 xap 小得多。但是,当构建服务器构建相同的项目时,所有排除的引用都会再次出现在 xap 文件中,因此 xap 的大小会增加三倍。

我已经阅读了几篇关于类似经历但没有解决方案的博客/文章。非常令人沮丧 - 任何帮助表示赞赏。

0 投票
6 回答
31212 浏览

visual-studio - 默认情况下将“复制本地”设置为False?

我可以将 Visual Studio 中“复制本地”的默认选项设置为 False 吗?在大多数情况下,当我添加一个 dll 作为项目的依赖项时,我希望将 Copy Local 属性设置为 False。默认情况下,它是 True。有没有办法改变 Visual Studio 的默认行为?(2008)

0 投票
3 回答
1627 浏览

.net - 复制本地和系统 dll' - 有什么意义?

默认情况下,Visual Studio 将所有 dll 复制到每个项目的 bin 文件夹中。这还包括系统 dll(mscorlib.dll 和 System.dll 除外),例如 System.Xml.Linq、System.ComponentModel.Composition(自 SL4 起包含)等。

由于这些文件包含在每个 XAP 中,因此 XAP 的大小会显着增加。在我有限的测试中,将“复制本地”设置为 false 似乎并没有破坏任何东西。为什么 Visual Studio 将这些文件添加到 bin 路径?由于用户已经拥有 Silverlight,我可以假设这些程序集已经安装在每个用户的 GAC 中,还是我遗漏了什么?

0 投票
2 回答
3038 浏览

.net - 如何使 Visual Studio 项目文件复制间接引用?

在此处输入图像描述

如屏幕截图所示,ClassLibrary1 依赖于 ClassLibrary2,ClassLibrary2 依赖于 ClassLibrary3。并且“复制本地”设置为“真”。但是当我编译 ClassLibrary1 时,ClassLibrary3 不会被复制到 bin 文件夹中。

那么如何配置 Visual Studio 项目文件以使其复制间接引用?

0 投票
1 回答
590 浏览

xml - 在构建解决方案时禁止为 3rd 方 DLL 生成 XML 文件

好的,我想出了如何为我自己的项目禁用 XML 文件生成(编译 -> 生成 XML 文档文件)。还有一些 Copy Local = True 的 3rd 方 DLL,我需要这些 DLL 来进行 XCopy 部署。他们每个人都在构建文件夹中创建自己的 XML。有没有办法禁止为第 3 方 DLL 生成 XML 文件?我正在使用 Visual Studio 2010。谢谢。

0 投票
1 回答
413 浏览

visual-studio-2010 - 复制本地 - .dll 未被复制

我在 Visual Studio 解决方案中有 3 个项目。其中一个项目(驱动程序)包含对其他两个项目生成的 .dll 的引用。两者的复制本地属性都设置为 true。这些 .dll 都不会被复制到驱动程序的 bin/Debug 目录中。这不应该发生吗?

我收到运行时错误,因为找不到程序集。

顺便说一句,我的 .dll曾经在 GAC 中,但我卸载了它们。

0 投票
2 回答
120 浏览

.net - 我应该如何确定哪些是必须“在本地复制”的参考?

许多类似的帖子,但我相信这不是重复的。当我在 Visual Studio 中添加引用时,有些 dll 会在本地复制,而有些则不会。

我知道我从其他地方获得的外部 dll 应该有一个本地引用,但是我想我从 Visual Studio 的长引用列表(.NET 和 COM)中选择的那些不需要在本地复制。我不。

现在我注意到当我从 COM 中选择 Shell32 时,dll 被复制到本地。默认情况下,“复制本地”设置为 true。所以我假设 .NET 是不需要本地引用的,而 COM 应该有。但是当我引用 Office 互操作对象 (COM) 时,我发现它们没有在本地复制。

  1. 有些是如何在本地复制而有些不是。(试图知道一些美好的事情)

  2. 另外,我应该如何为引用设置“复制本地”属性?是否建议仅按照 Visual Studio 默认执行的操作?

谢谢。

0 投票
2 回答
1367 浏览

wpf - 仅在 XAML 中使用的程序集不会复制到 bin 文件夹

在 WPF 项目中,仅在 xaml 中使用的引用即使CopyLocal设置为 true 也不会复制到 bin 文件夹,正如本文所述。对于 MVVM 模式,通常使用 3rd 方控件而根本没有代码隐藏引用。

这篇文章的启发,我正在使用下面的解决方法。这很容易,但是,必须手动维护变量列表,使其与项目中 XAML 文件中实际使用的变量列表保持同步,这些变量列表会不断变化。我的问题是是否有真正的解决方案或更好的解决方法?(我知道使用构建后脚本的想法,恕我直言,它不太容易被发现并且更容易受到更改的影响。)