如何在ASP.NET Web Pages中添加NuGet包或引入第三方类库?
ASP.NET Web Pages 第三方类库引入及代码调用问题解决
一、无解决方案/项目结构下使用NuGet包或直接引入DLL
1. 手动使用NuGet包
- 去NuGet官网搜索目标包(比如Newtonsoft.Json),下载对应版本的
.nupkg文件 - 将
.nupkg后缀改为.zip并解压,找到lib文件夹下匹配你项目.NET版本的DLL文件 - 把DLL复制到网站根目录的
bin文件夹(没有就新建该文件夹) - 在
.cshtml页面顶部用@using引入命名空间,示例:@using Newtonsoft.Json; // 正常调用类库功能 var jsonStr = JsonConvert.SerializeObject(new { Id = 1, Name = "Demo" });
2. 直接引入第三方DLL
- 获取第三方类库编译好的DLL文件
- 将DLL复制到网站根目录的
bin文件夹(ASP.NET Web Pages会自动加载该目录下的程序集) - 在页面顶部用
@using引入对应命名空间,即可调用类库中的类型和方法
二、VS空项目中视图无法识别自定义代码的解决方法
你遇到的问题是VS创建的空ASP.NET项目默认编译逻辑和非VS站点不同,可通过以下方式解决:
- 方法一:将类文件移至App_Code目录
新建App_Code目录,把TestLib.TestClass这类自定义代码文件放进去,Web Pages会自动动态编译该目录下的代码,无需手动编译,之后就能在视图里用完全限定名调用。 - 方法二:修改类文件的生成操作
右键类文件→属性→将生成操作改为内容,这样VS不会把这些类编译到项目程序集里,而是交给Web Pages动态编译,视图就能识别代码。 - 关键注意点:自定义类的访问修饰符必须是
public,否则视图无法访问。
内容的提问来源于stack exchange,提问作者Virus721
相关产品推荐
相关产品推荐

