我在开发 ASP.NET Core 应用程序时遇到了问题。我需要逐步执行我的一个 NuGet 库,因此我分叉了 repo 并添加了对本地 DLL 和 PDB 文件的引用。借助 .NET Core 的新功能,这将导致 VS 创建一个包装器项目并将资源复制到lib
项目本地的本地文件夹中。
这很好用,我能够单步调试代码并调试我的问题。但是,现在我试图恢复到 NuGet 包,但似乎某些 VS 缓存阻止了从 NuGet 检索包。这个问题似乎是针对整个解决方案的,因为我的解决方案中没有一个项目能够成功安装包。创建一个新的解决方案并从包管理器安装包确实可以按预期工作。
观察
删除wrap\project.json
和lib\*
资产后,我遇到以下情况:
- 当我尝试在以前引用本地“包装”程序集的项目中安装包时,我在项目的引用节点中收到以下错误:
NU1002 项目 [...] 中的依赖项 BrockAllen.MembershipReboot 1.0.0 不支持框架 .NETFramework,Version=v4.5.1
- 当我尝试在解决方案中的另一个项目中安装 NuGet 包时(以前没有引用包装的程序集),我得到一个不同的错误:
NU1001 依赖 BrockAllen.MembershipReboot >= 8.4.0 无法解析。
- 当我从以前引用包装程序集的项目中启动Add Reference...对话框时,我得到以下 VS 错误对话框:
找不到路径“C:[SolutionDir]\wrap\BrockAllen.MembershipReboot”的一部分。
我发现这有点特别有趣,因为它显然在某处保留了该参考...如果有人对如何解决此问题有任何见解,我将不胜感激。我试图避免移植到新的解决方案,但这可能是我的下一步。
**更多详细信息*
我已经通过解决方案目录进行了文本搜索,但没有发现任何仍然引用该wrap
目录的内容,除了global.json
看起来像这样的目录:
{
"projects": [
"src",
"test",
"wrap"
],
"sdk": {
"version": "1.0.0-rc1-update1"
}
}
该project.json
项目的文件如下:
{
"version": "1.0.0-*",
"description": "SolutionForms.Service.Providers Class Library",
"authors": [ "Vinney" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": {
"dependencies": {
"SolutionForms.Data": "1.0.0-*",
"AutoMapper": "4.1.1" },
"frameworkAssemblies": {
"System.ComponentModel.DataAnnotations": "4.0.0"
}
}
},
"dependencies": {
"BrockAllen.MembershipReboot": "8.4.0",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
"Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final",
"Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final",
"RavenDB.Embedded": "3.0.30037"
}
}
%AppData%\Local\Temp\Temporary ASP.NET Files\vs
我已经清除了一些本地 AppData 文件夹,即:%AppData%\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
但问题仍然存在。