【发布时间】:2021-07-24 00:15:29
【问题描述】:
在问题搜索中没有看到这种确切的情况。
我在一个网页解决方案中添加了一个 net framework 4.7.2 库,其中有 3 个项目都是 4.7.1。在我真正尝试引用 4.7.2 库中的对象之前,它运行良好。
我发现了问题,将每个项目都设置为4.7.2。
它构建得非常好。但是当我运行它时,我得到了这个错误:
Compiler Error Message: CS0012: The type 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
Line 82: <img src="/images/0421-NV.png" class="img-responsive" />
Line 83: <div class="textDiv">
Line 84: @Html.Snippet("mysnippetname") <<-- this line is highlighted
Line 85: </div>
Line 86: </div>
当我的解决方案中没有任何 netstandard 项目时,我很难理解为什么它需要 netstandard 参考。在我使用 4.7.1 之前,它也没有抱怨过。在使用 4.7.1 和编译运行之间,我没有添加任何新代码。
有什么想法吗?
编辑:我将所有内容更改为 4.7.1 进行测试,它仍然给我同样的错误。
Edit2:我确实尝试将以下内容添加到 web.config,但仍然遇到相同的错误:
<system.web>
<httpRuntime targetFramework="4.6.1" maxRequestLength="32768"/>
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</assemblies>
</compilation>
【问题讨论】:
-
只需搜索“编译器错误消息:CS0012:类型'System.Object'是在未引用的程序集中定义的。”在ggl中。 stackoverflow.com/questions/24396711stackoverflow.com/a/31241441/361177 ...
-
@Orace 很遗憾,这并没有帮助。我之前确实发现并尝试过,但我仍然遇到同样的错误。
-
我假设您已经重新启动了 Visual Studio...您是否尝试过右键单击解决方案 -> 还原 NuGet 包?也许其他需要检查的是 .net framework 4.7.2 sdk 是否实际安装:dotnet.microsoft.com/download/visual-studio-sdks
-
@Pieterjan restore nuget packages 没有帮助,但这是个好主意。我很确定 4.7.2 安装正常,因为我一直在其他项目中使用它。我还将项目重置回 4.7.1 进行测试,但它给了我同样的错误。
标签: c# asp.net-mvc