【问题标题】:Microsoft.Bcl.Build What is it used forMicrosoft.Bcl.Build 它的用途是什么
【发布时间】:2016-01-21 06:09:13
【问题描述】:

我刚刚尝试从GitHub 下载并构建DotNetOpenAuth.Samples。但是收到了来自nuget.targets 的错误说The process cannot access the file 'xxx\tools\Microsoft.Bcl.Build.Tasks.dll' because it is being used by another process

所以我签入了目标文件。发现 <RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand> 导致错误。

packages.config 中我发现<package id="Microsoft.Bcl.Build" version="1.0.8" targetFramework="net40" /> 已定义。

因为我发现该项目并没有真正引用 dll。所以我只是评论包配置。并重建它。错误消失了。

但是我的问题是为什么在包配置中定义这个包时没有在项目中引用它? (Microsoft.Bcl.Build) 是干什么用的?

谢谢。

更新

忘记添加来自 nuget 的信息。

此软件包提供构建基础架构组件,以便项目 引用特定的 Microsoft 包可以成功构建。

除非您收到构建版本,否则不要直接引用此包 指示您添加参考的警告。

还是看不懂..

【问题讨论】:

    标签: asp.net msbuild dotnetopenauth


    【解决方案1】:

    简而言之,它是 NuGet 包的辅助层。 Microsoft.Bcl.Build 1.0 的announcement 提供了详细信息:

    新版 Microsoft.Bcl.Build 将确保解决方案 包含我们的包将成功加载,即使包不是 恢复了。这会影响所有依赖它的 .NET NuGet 包, 例如 Microsoft.Net.Http、Microsoft.Bcl 和 Microsoft.Bcl.Async。

    Microsoft.Bcl.Build 将在以下情况下提供可操作的错误消息 要求您重新构建,导致软件包丢失。

    当与 NuGet 2.7 结合使用时,包恢复是自动的 Visual Studio 并没有通过 MSBuild 实现,体验是 透明光滑。但是,这不涉及构建服务器 仍然需要运行 nuget.exe restore solution.sln 在构建之前,或者如果愿意,可以签入 .targets 文件。

    【讨论】:

      猜你喜欢
      • 2010-09-27
      • 2011-12-17
      • 2010-11-21
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 2014-06-30
      相关资源
      最近更新 更多