【问题标题】:Microsoft.Owin.Host.HttpListener isn't being copied to a referencing projects' build outputMicrosoft.Owin.Host.HttpListener 没有被复制到引用项目的构建输出中
【发布时间】:2016-03-09 12:42:37
【问题描述】:

我从同一解决方案中的另一个项目引用 Visual Studio 解决方案中的一个项目。被引用的项目(项目 B)具有 Microsoft.Owin.Host.HttpListener nuget 包,因此其中引用了 .dll。正在构建引用项目 B(项目 A)的项目。输出文件夹获取项目 B 中引用的所有 dll,Microsoft.Owin.Host.HttpListener.dll 除外,即使它被标记为 Copy Local - true。

Microsoft.Owin.Host.HttpListener.dll 是迄今为止我遇到的唯一一个拒绝作为 MSBuild 的 _CopyFilesMarkedCopyLocal 步骤的一部分复制到项目 A 的构建输出的文件,无论设置如何。

我尝试将它添加到 app.config 中的条目中,但没有帮助。

我已经安排了展示引用问题的示例项目并将其上传到 GitHub here

您可以随意使用这些设置。

在提出这个问题之前,我已经查看了 Stackoverflow 中的相关问题,但它们没有得到回答或不相关。

请给我一个提示,如何将 .HttpListener.dll 与其他 .dll 一起复制到预期的引用项目输出中。

【问题讨论】:

    标签: visual-studio reference owin self-hosting copy-local


    【解决方案1】:

    在我的团队成员的帮助下,我能够找到问题的根源。编译器省略了 HttpListener dll,因为它没有在项目 A 或 B 的代码中明确使用。因此,我在项目 B 的代码中添加了以下行:

    //Dummy line to bypass the optimization.
    Trace.TraceInformation(typeof(Microsoft.Owin.Host.HttpListener.OwinHttpListener).FullName);
    

    这创建了对 HttpListener.dll 的实际依赖,并开始包含在项目 A 的输出中。

    【讨论】:

    • 为我工作。谢谢,伙计!
    猜你喜欢
    • 2016-02-27
    • 2011-02-21
    • 2010-12-03
    • 2017-10-05
    • 2019-07-14
    • 1970-01-01
    • 2018-08-15
    • 2020-03-05
    • 2014-10-06
    相关资源
    最近更新 更多