.NET Framework和.NET Standard程序包无法解决此参考错误

时间:2019-03-20 13:59:45

标签: .net

谢谢。

我正在Windows 2012构建服务器上使用VS 2017 / TFS 2012。 我们有一个用于NuGet包的内部存储库 我正在构建的.sln是.NET Framework 4.6.2,但是有/.NETstandard包的引用 在构建服务器上,我有: .NET Core SDK 2.0.3 .NET Core SDK 2.1.202 .NET Core SDK 2.1.503, 大量.NET Framework 4.5.x-4.6.2 SDK,多目标包 VS Enterprise 2017

当我们的VS2017建立错误时,我们看到的错误(有很多相似之处)是这样的:

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets(2110,5):警告MSB3245:无法解析此引用。无法找到程序集“ BLoK.Rest.Sdk.Base,版本= 3.0.22.0,区域性=中性,处理器架构= MSIL”。检查以确保程序集在磁盘上。如果您的代码需要此引用,则可能会出现编译错误。 [D:\ Builds \ 214 \ Blok \ WebUI \ src \ BLoKWeb \ BLoK.Web.csproj]

有趣的是,在构建日志的前面,我看到了这一点:   获取D:\ Builds \ 214 \ BloK \ WebUI \ src \ BLoKWeb \ packages \ BloK.Rest.Sdk.Base.3.0.22; C502066   获取D:\ Builds \ 214 \ BloK \ WebUI \ src \ BLoKWeb \ packages \ BloK.Rest.Sdk.Base.3.0.22 \ BLoK.Rest.Sdk.Base.3.0.22.nupkg; C502066   获取D:\ Builds \ 214 \ BloK \ WebUI \ src \ BLoKWeb \ packages \ BloK.Rest.Sdk.Base.3.0.22 \ lib; C502066   获取D:\ Builds \ 214 \ BloK \ WebUI \ src \ BLoKWeb \ packages \ BloK.Rest.Sdk.Base.3.0.22 \ lib \ netstandard2.0; C502066   获取D:\ Builds \ 214 \ BloK \ WebUI \ src \ BLoKWeb \ packages \ BloK.Rest.Sdk.Base.3.0.22 \ lib \ netstandard2.0 \ BLoK.Rest.Sdk.Base.dll; C502066   获取D:\ Builds \ 214 \ BloK \ WebUI \ src \ BLoKWeb \ packages \ BloK.Rest.Sdk.Base.3.0.22 \ lib \ netstandard2.0 \ BLoK.Rest.Sdk.Base.pdb; C502066

我复制并粘贴了上面的路径,并且肯定地,在构建日志中指出的位置确实存在BLoK.Rest.Sdk.Base.dll。这确认了nuget软件包以及其他软件包在\ packages目录中。但是尽管如此,构建仍然失败,并显示“无法解析此引用”。

我们的TFS构建定义在每次运行时都会进行恢复。

如果我手动下载缺少的BLoK.Rest.Sdk.Base.dll程序包并将其放在生成日志中指定的其他位置,则生成将超过此范围  错误,但是在另一个带有“无法解析此引用”的程序包上失败,但是它将指向GAC中的.dll,例如System.Web。构建如何找不到System.Web?其他版本没有这个问题,但是我们新开发的BLoK项目确实存在。

一切似乎都很好-路径是有效的,正确的软件包和软件包版本位于正确的位置,尽管软件包位于\ packages目录中,但构建失败。我在这里想念什么?这对我们来说确实是个问题。非常感谢您提供的帮助。

K.J。

0 个答案:

没有答案