3

我刚刚(通过 GitHub)发布了一个 VB.NET Azure 网站,该网站在本地机器上运行良好,但在 Azure 上却不行:

编译器错误消息:BC30451:未声明“Newtonsoft”。由于其保护级别,它可能无法访问。

Dim category As Category = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Category)(json)

Newtonsoft.Json 包通过 NuGet 安装:Newtonsoft.Json.5.0.5。它是目前项目中唯一的第 3 方 dll。

我使用 Azure ftp 访问浏览到/site/wwwroot/并注意到没有/bin目录。

现在,我的 .gitignore 不包括 [Bb]in 和 [Oo]bj 文件夹,但它与我在 c# 项目中成功使用的 .gitignore 相同,并且始终假定 Azure 只是从 .gitignore 中获取丢失的 nuget dll /packages

这是我的第一个 VB.NET > GitHub > Azure 网站部署。我错过了什么?

编辑:我可以确认,如果我/Bin/Newtonsoft.Json.dll通过 Azure ftp 上传,该站点可以正常工作。或者至少它会在它重新成像之前......

4

1 回答 1

0

听起来您还没有启用“NuGet 包还原”。

通过这样做,这会.nuget在解决方案的根目录下创建一个文件夹,并packages.config在应用程序中创建一个文件,Azure 中的构建过程将从该文件中提取并加载所需的引用。

右键单击解决方案,它应该是其中的一个选项。

于 2015-05-15T15:50:19.620 回答