gpt4 book ai didi

asp.net - 类型 'System.Object' 在未引用的程序集中定义

转载 作者:行者123 更新时间:2023-12-03 08:34:04 26 4
gpt4 key购买 nike

我在我的项目中安装了一个 Microsoft ASP.NET Web API 压缩 nuget 包,并在 Register 方法中向 WebApiconfig 添加了一行,如此链接 https://www.nuget.org/packages/Microsoft.AspNet.WebApi.MessageHandlers.Compression/

 GlobalConfiguration.Configuration.MessageHandlers.Insert(0, new CompressionHandler(new GZipCompressor(), new DeflateCompressor()));

还在 web.config 文件中添加了以下代码
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</assemblies>
</compilation>

但我收到一个错误

Error 1 The type 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. D:....\App_Start\WebApiConfig.cs



编译器提示 GlobalConfiguration 类上面有错误。 我正在使用 >NET Framework 4.5

最佳答案

我遇到了同样的错误,并通过做两件事来解决它。

背景:

我正在构建一个简单的测试 ASP.Net 应用程序,以尝试使用 Google API 的 OAuth2.0。我使用“nuget”来安装 Google.Apis.Calendar.v3 (v1.13.1.509)库,并引入了许多它依赖的其他 dll。

错误:

在 Visual Studio 2015 for Web (Express) 上编译面向“Framework 4.5”的看似简单的 ASP.Net 项目时。该错误以两种方式显示:

我最初使用 Build 命令编译代码 Ctrl+F5 .然后我得到一个构建错误,但在“错误”选项卡中没有通常指向源代码行的条目。 (该项目将停止 build )。输出是:

------ Build started: Project: oauth2.pylogen.com, Configuration: Debug Any CPU ------Validating Web SiteBuilding directory '/App_Code/'.E:\Projects\oauth2.pylogen.com\App_Code\Google.Api.Pylogen\FlowMetadata.cs(26,13): error CS0012: The type 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.Validation Complete========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

I then proceeded by installing the dotNet Framework 4.6.1 Developer Pack (the newest version that is not a preview).

Then I restarted VS 2015 for Web and got build again. This time I got an entry in the "Error" tab, that pointed to a source line:

flowInit.Scopes = new string[] { Google.Apis.Calendar.v3.CalendarService.Scope.Calendar };

当我注释掉这一行时,项目构建。我几乎对这条线无能为力,但我只是想表明错误的隐蔽性!

解决方案:

安装后 Framework 4.6.1 Developer Pack .我还将这一行添加到 Web.Config:
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</assemblies>
</compilation>

在此之后,我的项目完全构建。我的假设是 Google 指的是较旧的 System.Runtime.dll(尽管他们的 Nuget 包详细信息显示目标框架是 4.5)。

关于asp.net - 类型 'System.Object' 在未引用的程序集中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com