VS2015 C#interactive:错误CS7069:引用类型'对象'声称它是在System.Runtime'中定义的,但是找不到它

时间:2016-04-19 15:47:36

标签: c# .net visual-studio-2015 read-eval-print-loop c#-interactive

我刚刚更新到VS2015 Update 2,并开始使用C# interactive window。我想在我的一个.NET 4.0目标库项目中的静态类中使用静态方法,所以我在解决方案资源管理器中右键单击了该项目,并选择了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:引用类型'对象'声称它是在System.Runtime'中定义的,但无法找到

我得到了项目中的类的智能感知,但是每次尝试运行语句时都会遇到相同的错误。我仍然可以运行简单的事情:

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

任何人对于为什么会发生这种情况或如何解决这个问题都有任何想法?我将使用任何[未]成功建议的修复程序更新此问题。

2 个答案:

答案 0 :(得分:5)

最终为我修复的是在 C# Interactive window中输入 。:

#r "System.Runtime"

如果有人可以提供有关其原因的详尽背景说明,我很乐意为您提供接受的答案。我很幸运。

答案 1 :(得分:1)

虽然添加答案似乎有点晚,但它实际上仍然是 Visual Studio 2019 (v16.9.4) 当前可能存在的问题,或者至少对我来说是...< /p>

就我而言,它与对 .NET Framework 标准包的引用无关,而是与解决方案中我的一个项目的引用有关。

我按照以下步骤成功解决了这个问题:

  1. 从问题所在的项目中删除包/项目引用。

  2. 清理发布的项目(要进行更多清理,您还可以从资源管理器中删除 bin/obj 文件夹)。

  3. 如果引用的是一个项目,CleanRebuild 引用的项目。

  4. 再次添加对包/项目的引用并在解决方案中重建所有内容。

希望有帮助!