【问题标题】:newtonsoft json package requires reinstall every time i open code每次我打开代码时,newtonsoft json 包都需要重新安装
【发布时间】:2019-04-08 16:22:16
【问题描述】:

我正在 SSIS 的脚本任务中编写 C# 代码。我需要在代码中使用 Newtonsoft JSON 包,所以我从 NuGet 安装了它。首次安装时它工作正常,但是当我关闭代码并重新打开它进行更改时,我必须按照Some NuGet packages are missing from the solution in Visual Studio Application 帖子使用update-package -Reinstall 重新安装包。

为什么我每次都必须这样做?我做错了吗?

感谢您的帮助。

【问题讨论】:

  • 这是针对所有包的,还是特定于这个包的?还浏览“包”文件夹下的行为,下载的 nuget 包位于项目关闭重新打开时。
  • 在这种情况下,我只尝试安装 1 个包。在我关闭包裹之前它会起作用。我最终手动将程序集安装到 GAC。我采取的全部步骤。
  • 手动将程序集安装到 GAC 是一种不好的做法。如果您将项目部署到远程服务器、其他客户端等怎么办?我建议您诊断本地安装的问题。
  • 明白。我在我的机器上进行了本地测试,然后在生产服务器上注册了 DLL,以便我们准备好部署。我们没有可用的资源来花时间解决此包无法通过 VS 界面正确安装的原因。

标签: c# visual-studio ssis json.net script-task


【解决方案1】:

我发现手动将程序集添加到 GAC 为我解决了这个问题。为此:

  1. 在管理员模式下打开“VS 的开发人员命令提示符 (SSDT)”。
  2. 运行此命令:gacutil -i "程序集名称"

对于程序集名称,我只需要浏览我的本地驱动器以查找我正在添加的 DLL 的副本,然后在“程序集名称”中使用完整的文件路径 (C:...Newtonsoft.json.dll) .

https://docs.microsoft.com/en-us/dotnet/framework/app-domains/how-to-install-an-assembly-into-the-gac

https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs

【讨论】:

  • 谢谢!花了一整天的时间来解决这个问题!
【解决方案2】:

尝试从解决方案资源管理器安装 Json.Net:

解决方法

您可以从作为 .Net 框架一部分的 System.Web.Extension 程序集中受益,而不是使用 Json.Net,您可以参考以下链接以获取有关如何使用此程序集解析 JSON 的分步指南:

【讨论】:

  • 谢谢,我不知道这是一个选项,但是将程序集添加到 GAC 最终速度要快得多,并且现在运行良好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-07
  • 2011-05-02
  • 1970-01-01
  • 2021-08-02
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多