我刚刚(通过GitHub)发布了一个 VB.NET 的 Azure 网站,本地机器上工作正常,但在 Azure 上不行:
编译器错误信息:BC30451:未声明 'Newtonsoft'。它可能由于其保护级别而无法访问。
请注意,此问题可能是由于缺少 Newtonsoft.Json 包所致。您可以尝试在 Azure 门户中将其添加为应用程序依赖项。如果仍然存在问题,请确保正确引用该包并将其更新到最新版本。
Dim category As Category = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Category)(json)
使用NuGet安装了Newtonsoft.Json包:Newtonsoft.Json.5.0.5。
目前,这是项目中唯一的第三方dll。
我使用Azure ftp访问/site/wwwroot/
并注意到没有/bin
目录。
现在,我的.gitignore文件排除[Bb]in和[Oo]bj文件夹,但这是我成功用于c#项目的相同.gitignore文件,并且一直认为Azure只会从/packages
获取缺失的nuget dlls。
这是我第一次使用VB.NET > GitHub > Azure网站部署。我错过了什么?
编辑:我可以确认,如果通过Azure ftp上传/Bin/Newtonsoft.Json.dll
,则站点将正常工作。或者至少在重新镜像之前是这样的...