该项目是一个基于 .NET Framework 4.6.1 ASP.NET MVC Web 应用程序
突然之间(一些NuGet 包升级了),我开始在运行时得到以下错误:
CCS0012: 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'.
在我的主视图 Index.cshtml
中,在一行中我使用了@Html.ActionLink
我确实有 .NET Core SDK 2.0 和 .net Framework 4.7.1 安装在我的机器上,但我不想包括对它的引用。这只是一个 .NET Framework web 应用程序,它托管在 Windows IIS 上,安装的框架是 4.6.1,服务器上没有安装 NET Core。
那么为什么它要求添加对netstandard
的引用呢?我如何在不引用netstandard
而完整的Windows .NET Framework 4.6.1的情况下修复它?
我已经检查出了以前的提交,工作得很好,我仍然得到这个错误。所以这与NuGet包的升级无关。好像是我本地开发机器上的东西。
如果将应用发布到一个目录并在IIS下运行,它就可以工作。
packages.config
当使用VS2017发布应用程序到文件系统时,我在输出中得到以下警告:
以下程序集依赖于.NET版本 框架,高于目标,可能无法正确加载 在运行时导致失败:netstandard,版本=2.0.0.0, 文化=中立,都必须cc7b13ffcd2ddd51。的依赖关系 是:系统。事务,版本=4.0.0.0,文化=中性, 都要。你应该确保 依赖的程序集对于目标框架是正确的,或者确保 您正在处理的目标框架是依赖的框架 组装。< / p >
但是我在System.Transactions
上找不到任何东西。如何搜索引用它的内容?