VS2015 C# interactive: error CS7069: Reference to type 'Object' claims it is defined in 'System.Runtime', 但找不到
VS2015 C# interactive: error CS7069: Reference to type 'Object' claims it is defined in 'System.Runtime', but it could not be found
我刚更新到 VS2015 Update 2, and started playing around with the C# interactive window。我想在我的 .NET 4.0 目标库项目之一的静态 class 中使用静态方法,因此我在解决方案资源管理器中右键单击该项目,然后选择 Initialize Interactive with Project
。交互式 window 中的输出如下所示(为简洁起见,我用“..”替换了一些完整路径):
#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' 中定义,但找不到
我获得了项目中 classes 的智能感知,但每次尝试 运行 语句时,我都会遇到同样的错误。我仍然可以 运行 简单的事情,例如:
> string.Format("No one knows my {0}", "suffering")
"No one knows my suffering"
>
任何人都知道为什么会发生这种情况或如何解决它?我将使用任何 [un] 成功的建议修复更新此问题。
最终为我解决问题的是在 C# Interactive window.:
中输入此
#r "System.Runtime"
如果有人可以提供详尽的背景解释,说明为何如此有效,我很乐意为您提供可接受的答案。我只是运气好。
虽然添加答案似乎有点晚,但实际上 Visual Studio 2019 (v16.9.4) 仍然可能存在当前问题,或者至少这是给我的...
在我的例子中,它与对 .NET Framework 标准包的引用无关,但与对我在解决方案中的一个项目的引用有关。
我按照以下步骤成功解决了问题:
从问题所在的项目中删除 package/project 引用。
清理已发布的项目(要进行更多清理,您还可以从资源管理器中删除 bin/obj 文件夹)。
如果引用是一个项目,Clean
和 Rebuild
引用的项目。
再次添加对 package/project 的引用并在解决方案中重建所有内容。
希望对您有所帮助!
我刚更新到 VS2015 Update 2, and started playing around with the C# interactive window。我想在我的 .NET 4.0 目标库项目之一的静态 class 中使用静态方法,因此我在解决方案资源管理器中右键单击该项目,然后选择 Initialize Interactive with Project
。交互式 window 中的输出如下所示(为简洁起见,我用“..”替换了一些完整路径):
#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' 中定义,但找不到
我获得了项目中 classes 的智能感知,但每次尝试 运行 语句时,我都会遇到同样的错误。我仍然可以 运行 简单的事情,例如:
> string.Format("No one knows my {0}", "suffering")
"No one knows my suffering"
>
任何人都知道为什么会发生这种情况或如何解决它?我将使用任何 [un] 成功的建议修复更新此问题。
最终为我解决问题的是在 C# Interactive window.:
中输入此#r "System.Runtime"
如果有人可以提供详尽的背景解释,说明为何如此有效,我很乐意为您提供可接受的答案。我只是运气好。
虽然添加答案似乎有点晚,但实际上 Visual Studio 2019 (v16.9.4) 仍然可能存在当前问题,或者至少这是给我的...
在我的例子中,它与对 .NET Framework 标准包的引用无关,但与对我在解决方案中的一个项目的引用有关。
我按照以下步骤成功解决了问题:
从问题所在的项目中删除 package/project 引用。
清理已发布的项目(要进行更多清理,您还可以从资源管理器中删除 bin/obj 文件夹)。
如果引用是一个项目,
Clean
和Rebuild
引用的项目。再次添加对 package/project 的引用并在解决方案中重建所有内容。
希望对您有所帮助!