Newtonsoft.Json仅根目录页面可用,子目录页面报错求助
解决Newtonsoft.Json仅根目录页面可用的问题
检查子目录独立Web.config配置
如果子目录存在专属的Web.config,它会覆盖根目录的部分配置规则。打开该文件,查看<compilation><assemblies>节点,确认是否包含Newtonsoft.Json的程序集引用。若缺失,添加以下配置:<compilation debug="true" targetFramework="你的项目.NET版本"> <assemblies> <add assembly="Newtonsoft.Json, Version=你的包版本号, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" /> </assemblies> </compilation>版本号可从根目录
packages.config中获取,比如<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net472" />里的13.0.3。补全根目录Web.config的程序集引用
NuGet安装Newtonsoft.Json时通常会自动在根目录Web.config中添加引用,若你确认当前没有,手动在<compilation><assemblies>节点加入上述程序集配置。子目录页面会继承根配置,无需重复设置。直接在子目录页面添加引用指令
除了using Newtonsoft.Json;,还可以在子目录页面顶部直接声明程序集和命名空间引用,强制页面识别该库:<%@ Assembly Name="Newtonsoft.Json, Version=你的包版本号, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" %> <%@ Import Namespace="Newtonsoft.Json" %>确认NuGet包的安装范围
右键项目→管理NuGet程序包,检查Newtonsoft.Json是否安装在整个项目而非仅根目录的单个文件。若为局部安装,卸载后重新选择整个项目完成安装。清理编译缓存并重建项目
编译缓存可能导致引用异常,执行以下操作:- 删除项目根目录下的
bin和obj文件夹 - 执行
生成→清理解决方案,再执行生成→重新生成解决方案 - 重新将文件上传至FTP服务器
- 删除项目根目录下的
内容的提问来源于stack exchange,提问作者Ash
相关产品推荐
相关产品推荐

