如何解决 Visual Studio (MSBuild) 错误消息:
还原 NuGet 包时出错:“还原输入无效。未指定目标框架。”
在解决方案级别打开VS2015RC1中的Nuget包管理器并过滤安装/更新可用时,我会获得解决方案中所有可用包的列表.
但是当我尝试升级一个包时,默认情况下所选择的解决方案中的所有内容都是预期的,这不是我想要的,因为我们有一个包含很多项目的大型解决方案,我显然不希望将JQuery添加到所有这些项目中.由于项目数量众多,我无法通过每个项目单独更新项目.
还有其他人有同样的问题吗?或者我错过了什么.

编辑:没有错误,ACTION下拉列表需要更改为更新而不是安装.抱歉这个家伙.
当我在Jenkins构建服务器上构建.NET Standard 2.0库时
C:\Program Files\dotnet\sdk\2.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(198,5): error : Assets file 'C:\Jenkins\workspace\<Project>\Sources\Library\obj\project.assets.json' not found. Run a NuGet package restore to generate this file. [C:\Jenkins\workspace\<Project>\Sources\Library\Library.csproj]
Run Code Online (Sandbox Code Playgroud)
我在构建日志中遇到了以上错误。
我搜索了错误并找到了解决方案
然而,
dotnet resotre <Solution Name>
Run Code Online (Sandbox Code Playgroud)
在开始构建之前清理工作区时,该解决方案无法帮助我。
因此,我在MSBuild之前插入命令,但失败了
C:\Program Files\dotnet\sdk\2.1.302\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(198,5): error : Package Microsoft.CodeAnalysis.CSharp.Workspaces, version 2.8.0 was not found. It might have been deleted since NuGet restore. Otherwise, NuGet restore might have only partially completed, which might have been due to maximum path length restrictions. [C:\Jenkins\workspace\<Project>\Sources\Web\Web.csproj]
Run Code Online (Sandbox Code Playgroud)
根据解决方案参考,也许升级Nuget Package Installer可以帮助我。但是我不知道如何通过命令行升级Nuget软件包安装程序 ...
使用 SDK 样式的 csproj。
设想:
项目:
<PackageReference Include="MyNamespace.Package" Version="3.5.4-*" />
<PackageReference Include="MyNamespace.Other" Version="3.5.3" />
Run Code Online (Sandbox Code Playgroud)
安装:
MyNamespace.Package 3.5.4-pre.1
MyNamespace.Other 3.5.3
Run Code Online (Sandbox Code Playgroud)
在 NuGet 存储库中:
MyNamespace.Package 3.5.4-pre.1
MyNamespace.Package 3.5.4-pre.2
MyNamespace.Other 3.5.3
MyNamespace.Other 3.5.4
MyNamespace.Other 3.6.0
Run Code Online (Sandbox Code Playgroud)
我不希望 NuGet 修改任何PackageReference条目。我确实希望 NuGet 安装MyNamespace.Package满足通配符的最新版本,此处为 3.5.4-pre.2.
有没有任何内置的方法可以实现这一目标?
我有TFS做一些持续的集成构建.今天,它打破了一个解决方案.似乎找不到AutoMapper.所有其他包装都可以找到.
几个相关点:
D:\"Program Files"\"Microsoft Team Foundation Server 12.0"\Tools\Nuget.exe restore后跟手动构建msbuild MySolutoin.sln这来自TFS日志:
D:\Program Files\Microsoft Team Foundation Server 12.0\Tools\nuget.exe restore "C:\Builds\1\MyCompany Web\FclQuoteWcfService\src\FclQuoteWcfService.sln" -NonInteractive
Installing 'EntityFramework 6.1.3'.
Installing 'InternalPackage 1.0'.
Successfully installed 'InternalPackage 1.0'.
Successfully installed 'EntityFramework 6.1.3'.
Unable to find version '3.3.1' of package 'AutoMapper'.
C:\Program Files (x86)\MSBuild\12.0\bin\amd64\MSBuild.exe /nologo /noconsolelogger "C:\Builds\1\MyCompany Web\FclQuoteWcfService\src\FclQuoteWcfService.sln" /nr:False /fl /flp:"logfile=C:\Builds\1\MyCompany Web\FclQuoteWcfService\src\FclQuoteWcfService.log;encoding=Unicode;verbosity=normal" /p:SkipInvalidConfigurations=true /m /p:OutDir="C:\Builds\1\MyCompany Web\FclQuoteWcfService\bin\\" /p:VCBuildOverride="C:\Builds\1\MyCompany Web\FclQuoteWcfService\src\FclQuoteWcfService.sln.vsprops" /dl:WorkflowCentralLogger,"D:\Program Files\Microsoft Team Foundation Server 12.0\Tools\Microsoft.TeamFoundation.Build.Server.Logger.dll";"Verbosity=Normal;BuildUri=vstfs:///Build/Build/230;IgnoreDuplicateProjects=False;InformationNodeId=12;TargetsNotLogged=GetNativeManifest,GetCopyToOutputDirectoryItems,GetTargetPath;TFSUrl=http://ctidev2k8:8080/tfs/MyCompany;"*WorkflowForwardingLogger,"D:\Program Files\Microsoft Team Foundation …Run Code Online (Sandbox Code Playgroud) 在Visual Studio 2015之前,将项目设置为自动生成NuGet包非常简单.具体来说,你做了:
<BuildPackage>为true就是这样!
但是,从VS 2015开始,已删除MSBuild集成的程序包还原,并替换为新的自动程序包还原.虽然这些都是好消息,但似乎将build属性设置<BuildPackage>为true不再触发自动包构建.
这是功能的重大突破!有没有办法在不使用后期构建事件的情况下设置NuGet的自动构建?具体来说,我正在寻找一个MSBuild解决方案,因为它构成了我的构建工作流程的支柱.
我无法从asp.net核心Web应用程序(RC2)中的Visual Studio Team Services订阅源安装/恢复nuget包.我收到以下内容:
错误:响应状态代码不表示成功:401(未授权).
我正在运行Visual Studio Community 2015 Update 2和nuget版本3.4.4.我能够在其他项目类型中从此Feed安装/恢复软件包.
我是否需要做一些其他事情才能将我的凭据传递给asp.net核心Web应用程序?
重现步骤:
从Team Services包选项卡中选择"Connect to Feed"并复制NuGet包源URL
在visual studio - >工具 - > NuGet包管理器 - >包管理器设置 - >包源并从vso添加源URL
然后从我的ASP.NET核心Web应用程序(.NET Framework)项目右键单击引用 - >管理NuGet包 - >从包源选择我的订阅源(列出包) - >单击以安装
在输出中:
Installing NuGet package xxxxx
Successfully installed xxxxx to WebApplication1
========== Finished ==========
Run Code Online (Sandbox Code Playgroud)
然后它会尝试恢复我得到的包:
error: Response status code does not indicate success: 401 (Unauthorized).
error: Failed to retrieve information from remote source
Run Code Online (Sandbox Code Playgroud)
在web项目引用中 - 包有警告图标 - NU1001无法解析依赖关系xxxxx
nuget-package nuget-package-restore azure-devops asp.net-core
我正在尝试针对包含Visual Studio Installer Project的 .NET Framework 4.7.2 解决方案设置 Azure DevOps 构建管道。我已在 Windows Server 2019 VM 上设置了自托管代理,该 VM 安装了 Visual Studio 2019 Community。构建管道包含 NuGet 安装程序任务,后跟 NuGet 任务,设置用于恢复引用的 NuGet 包。下面是 YAML 片段:
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '$(solution)'
Run Code Online (Sandbox Code Playgroud)
但是,使用此配置运行构建会导致构建日志中出现以下错误:
[错误]nuget 命令失败,退出代码(1) 和错误(C:\##############.vdproj(1,1): 错误 MSB4025: 项目文件无法已加载。根级别的数据无效。第 1 行,位置 1。)
这似乎是由于新版本的 nuget.exe 中的性能增强所致。基于此GitHub 问题的建议是使用 MSBuild 设置跳过不存在的包目标RestoreUseSkipNonexistentTargets。
GitHub问题提到使用NUGET_RESTORE_MSBUILD_ARGS NuGet CLI环境变量来设置此属性,但我不知道如何通过NuGet构建任务来实现这一点。
false由于 NuGet 现在已与 MSBuild 集成,因此我尝试通过 NuGet 任务上的命令行参数设置此属性。我修改了 YAML,将命令设置为custom以便传递参数。我的语法基于MSBuild 恢复文档。现在看起来如下:
- task: …Run Code Online (Sandbox Code Playgroud) msbuild nuget nuget-package-restore azure-devops azure-pipelines
我在 macOS Big Sur 中使用 Visual Studio 版本 8.10.8(最新)。我已经克隆了 Asp .Net 项目的存储库。当我尝试运行该项目时,我得到了
NuGet 包需要在构建之前恢复。NuGet MSBuild 目标缺失,但需要进行构建。还原 NuGet 包时会生成 NuGet MSBuild 目标
这个错误。
屏幕截图:
主项目的 csproj
错误图像。
.net asp.net entity-framework visual-studio nuget-package-restore
我正在尝试在 Visual Studio (.NET Framework 4.72) 中运行单元测试项目。
现在项目已经成功构建/运行,但是仍然出现NuGet包无法恢复的错误(文件路径实际上是错误的并且不存在)。如何更改为正确的文件路径并告诉 VS 不要查找错误的路径?这是错误:
项目 Tests_WeatherData 的 NuGet 包还原失败:找不到路径 'C:......\Begin\packages\MSTest.TestAdapter.1.3.2\build/_common/zh-Hans/Microsoft.VisualStudio 的一部分。 TestPlatform.MSTestAdapter.PlatformServices.resources.dll'
感谢您提供有关如何更改文件路径/恢复设置的任何建议。
c# unit-testing visual-studio nuget-package-restore visual-studio-2022
nuget ×5
msbuild ×4
.net ×2
azure-devops ×2
asp.net ×1
asp.net-core ×1
c# ×1
csproj ×1
jenkins ×1
tfs ×1
tfsbuild ×1
unit-testing ×1