.net VS2015 C#交互式:错误CS7069:对类型“Object”的引用声称它是在“System.Runtime”中定义的,但未能找到它

z9zf31ra  于 2023-02-14  发布在  .NET
关注(0)|答案(3)|浏览(686)

我刚刚更新到VS2015 Update 2,并开始尝试使用C# interactive window。我想在一个.NET 4.0目标库项目的静态类中使用一个static方法,所以我在Solution Explorer中右键单击该项目,并选择Initialize Interactive with Project。交互式窗口中的输出如下所示(为了简洁起见,我将一些完整路径替换为..“”):

#reset
Resetting execution engine.
Loading context from 'CSharpInteractive.rsp'.
#r "..\src\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll"
#r "..\src\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll"
#r "..\src\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll"
#r "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll"
#r "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Core.dll"
#r "..\src\packages\Microsoft.Bcl.1.1.8\lib\net40\System.IO.dll"
#r "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Net.dll"
#r "..\src\packages\Microsoft.Bcl.1.1.8\lib\net40\System.Runtime.dll"
#r "..\src\packages\Microsoft.Bcl.1.1.8\lib\net40\System.Threading.Tasks.dll"
#r "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.dll"
#r "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Xml.Linq.dll"
#r "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.DataSetExtensions.dll"
#r "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Microsoft.CSharp.dll"
#r "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll"
#r "C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Net.Http.dll"
#r "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Xml.dll"
#r "MyDll.dll"
using MyDll;
(1,7): error CS7069: Reference to type 'Object' claims it is defined in 'System.Runtime', but it could not be found

注意结尾那句恶心的话,它挡住了我通往幸福的路:

(1,7):错误CS7069:对类型“Object”的引用声称该类型是在“System.Runtime”中定义的,但未能找到该类型

我可以对项目中的类进行智能感知,但每次尝试运行语句时都会出现相同的错误。我仍然可以运行简单的操作,例如:

> string.Format("No one knows my {0}", "suffering")
"No one knows my suffering"
>

有人知道为什么会发生这种情况或如何修复吗?我会更新这个问题与任何[不]成功的建议修复。

iqxoj9l9

iqxoj9l91#

最终解决这个问题的方法是在***C# Interactive window中输入这个***:
#r "System.Runtime"
如果有人能提供一个完整的背景解释,为什么这是工作,我很乐意给予你一个公认的答案。我只是运气好。

jk9hmnmh

jk9hmnmh2#

虽然现在添加答案似乎有点晚,但它实际上仍然是**Visual Studio 2019(v16.9.4)当前可能存在的问题,或者至少对我来说是这样...
在我的例子中,它与. NET Framework标准包的引用无关,而是与解决方案中我的一个项目的引用有关。
我通过以下步骤成功解决了该问题:
1.从问题所在的项目中移除包/项目引用。
1.清理已发布的项目(
要进行更多清理,您还可以从资源管理器中删除bin/obj文件夹 )。
1.
如果引用的是项目,则CleanRebuild为引用的项目。

1.再次添加对包/项目的引用,并在解决方案中重新生成所有内容。
希望能有所帮助!

z3yyvxxp

z3yyvxxp3#

我引用了一个不兼容的包,这导致了这个错误。在包升级过程中被忽略了。删除了引用&修复了命名空间。

相关问题