问题描述
asp.net mvc4应用程序,目标是.NET Framework 4.5.2,可与VS 2019一起使用
我在@Html.HiddenFor(x => x.InvoiceId)
的剃须刀页面上收到 CS0012错误
指向缺少的程序集引用“ System.Core”。
奇怪的是,仅在打开页面时,VS解决方案资源管理器才会弹出错误,但是 解决方案可以编译并正确运行!
我在项目中没有引用“ System.Core”,从我了解到的内部引用中也没有引用。 因此,我按照错误消息中的建议更改了PublicKeyToken的密钥,但这并没有消除错误并导致运行时错误。
然后,我使用了Serge
发布的解决方法<input type="hidden" value="@Html.AttributeEncode(Model.InvoiceId)" id="InvoiceId" name="InvoiceId" />
正常工作。
但是我想找出导致此错误的原因以及如何消除。
我们将不胜感激帮助和建议。
解决方法
我通过warabino找到了这个答案:
我所做的是我从C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.6.1 \ System.Core.dll复制了该dll,然后将这些lib粘贴到了项目箱中。 稍后您会看到在您的项目中,该dll是自动添加到引用中的。
我做了相同的事情(使用C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.5中的dll)和解决了该问题。
但是,我不知道该dll(及其引用)是否曾经存在于我的项目中,并且在进行一些更新后迷失了或变得必需。