3

我有一个最近升级为在 .NET 4.0 上运行的 ASP.NET 3.5 解决方案。尽管如此,该解决方案中的大多数项目似乎仍以 .NET 3.5 框架为目标。

话虽如此,我现在无法调试任何这些项目。我收到以下错误:

解析器错误消息:无法加载文件或程序集“System.Core,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。
=== 预绑定状态信息 ===  
日志:用户 = 我的用户名
日志:DisplayName = System.Core,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35  
     (完全指定)
日志:Appbase = file:///C:/Projects/myprojectpath/
日志:初始 PrivatePath = C:\Projects\myprojectpath\bin
调用程序集:(未知)。
===
LOG:此绑定在默认加载上下文中开始。
LOG:使用应用程序配置文件:C:\Projects\myprojectpath\web.config   
日志:使用 C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config 中的机器配置文件。
日志:政策后参考:System.Core,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35
LOG:之前看到过相同的绑定,但由于 hr = 0x80070002 失败。

我已经手动编辑了我的项目文件,如此处所述,并添加了以下几行:

<Reference Include="System.Core">
  <RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>

但这并没有什么好处。有人可以解释为什么我收到此错误消息以及如何解决它吗?谢谢!

4

2 回答 2

1

我碰巧使用了以下控件:

<assemblies>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

        </assemblies>

相反:

 <assemblies>
            <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

        </assemblies>

或相反亦然。你可能想检查一下。或者将整个项目(框架或页面)迁移到 .net 4.0 中。有时当我需要处理不同的框架时,我会删除目标框架行。

于 2012-07-30T19:40:25.197 回答
1

就我而言,web.config 中有一行必须删除。

<pages enableEventValidation="true">
    <namespaces>
        <add namespace="System.Linq"/>
    </namespaces>
    <controls>
        <!--<add tagPrefix="asp" namespace="System.Linq" assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>-->
    </controls>
</pages>

(实际上我也能够安全地发表评论<add namespace="System.Linq"/>

于 2012-07-30T20:40:37.307 回答