当我在登录Visual Studio Online时触发构建时,我收到以下消息.在本地,它编译和部署就好了.
packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.CSharp.Core.targets(67,5)
更确切地说,这是所描述的问题.
无法从程序集C:\ a\1\s\packages\Microsoft.Net.Compilers.1.0.0\build ..\tools\Microsoft.Build.Tasks加载"Microsoft.CodeAnalysis.BuildTasks.Csc"任务.CodeAnalysis.dll.无法加载文件或程序集'file:/// C:\ a\1\s\packages\Microsoft.Net.Compilers.1.0.0\tools\Microsoft.Build.Tasks.CodeAnalysis.dll'或其依赖项之一.该系统找不到指定的文件.确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类.
所以,显然,我有一些本地放置的文件使编译工作在现场(即我的机器),但那些不使用签入部署.我没有手动将任何DLL或类似物放入我的项目中.所有内容都是基于源代码或使用包管理器获得的.
这带来了以下问题.
构建步骤中的设置如下.
msbuild continuous-integration build visual-studio-2015 azure-devops
我真的很疯狂与nuget并在Visual Studio Team Services(visualstudio.com)下构建解决方案.任何帮助都感激不尽.
我有一个包含36个项目的解决方案.许多项目使用相同的5或6个nuget包.我已仔细按照迁移MSBuild集成解决方案的说明使用自动包恢复,因此在我的解决方案文件夹下有一个.nuget文件夹,其中包含唯一的NuGet.Config文件,不再包含Nuget.exe或Nuget.targets文件.所有项目都删除了Nuget.targets行.
我正在使用Visual Studio 2013 Professional(v12 Update 2),并且本地构建的解决方案没有错误或警告.即使在清理并删除packages文件夹之后,它也会下载并构建正常.packages文件夹未在Visual Studio Team Services中签入.
检查构建日志表明:
事情开始失败的日志示例(虽然这显然是因为nuget没有介入):
Project "C:\a\src\TFS\RSPlatform\Main\Source\RSPlatform Team Project.sln" (1) is building "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\A2Refresh.csproj" (8) on node 1 (default targets).
PrepareForBuild:
Creating directory "obj\Release\".
ResolveAssemblyReferences:
Primary reference "Bytescout.Spreadsheet".
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Bytescout.Spreadsheet". Check to make sure the assembly exists on disk. If this reference is required by your …Run Code Online (Sandbox Code Playgroud) 我在Visual Studio 2015中有一个使用几个NuGet包的解决方案.当我在Visual Studio 2015中构建时,正确地还原了包并且构建成功.但是,当我将同一个项目推送到Visual Studio Online时,即使我选中了"Restore NuGet Packages",构建也会失败,因为MSBuild无法找到引用的二进制文件.
我查看了构建日志,看到我的软件包都已恢复.为什么,即使包恢复,是在构建期间找不到引用的二进制文件?