如何将引用的程序集的依赖项复制到 ASP.NET 输出 bin 文件夹?

发布于 2024-09-04 06:43:22 字数 236 浏览 6 评论 0原文

在 Visual Studio 2010 中,我有项目 A(asp.net 应用程序)。项目 A 引用项目 B(类库)。项目 B 引用程序集 C(直接引用 DLL)。

构建项目 A 时,项目 A 的 /bin 目录中仅存在项目 A 和项目 B 二进制文件,而没有程序集 C。这是为什么?如果项目 B 依赖于程序集 C,为什么程序集 C 没有一起复制到输出文件夹?

对于程序集 C,“Copy local”已设置为“true”。

In Visual Studio 2010, I have project A (asp.net application). Project A references project B (class library). Project B references assembly C (direct reference to a DLL).

When building project A, only project A and project B binaries are present in the /bin directory of project A, but not the assembly C. Why is that? If project B depends on assembly C, why is assembly C not copied together to the output folder?

"Copy local" is already set to "true" for assembly C.

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

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

发布评论

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

评论(3

枫以 2024-09-11 06:43:22

这是因为库 C 将被复制到库 B 的输出目录,并且该目录与库 A 不同。如果将 A 和 B 都构建到同一目录,您将在那里看到库 C 的输出。

This is because library C will be copied to the output directory of library B and that directory is different from library A. If you make both A and B to build to the same directory you will see library C output there.

玉环 2024-09-11 06:43:22

我设法通过将此变量添加到项目 B 中的类中来解决此问题:

private Type t = typeof(SomeClassInAssemblyC);

现在,当我构建项目 A 时,项目 B 二进制文件和程序集 C DLL 都被复制到项目 A 的 /bin 目录中。

I managed to workaround the issue by adding this variable to a class in project B:

private Type t = typeof(SomeClassInAssemblyC);

Now when I build project A, both project B binaries and assembly C DLL are copied to the /bin directory of project A.

当梦初醒 2024-09-11 06:43:22

对于 .NET Core 项目,项目文件中的以下内容可能会有所帮助:

       <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

for .NET Core Projects, the following in the project file may help:

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