我是SSIS的新手。我正在尝试将字符串转换为JSON格式,如图所示。我安装了Newtonsoft Json。但是它显示黄色三角形标记。
我已经安装了所有版本的Newtonsoft。但是在#
时它仍然显示错误region Namespaces
using Newtonsoft.Json.Linq;
using System;
using System.Windows.Forms;#
endregion
namespace ST_9a0af2e4537b4d26adaef11149343faa {
public partial class ScriptMain: Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase {
public void Main() {
var myJsonString = "{report: {Id: \"aaakkj98898983\"}}";
MessageBox.Show(myJsonString);
try {
// when i add this line to my package then the package is not
excuting.if i remove this line then package is excuting.
JObject.Parse("{report: {\"Id\": \"aaakkj98898983\"}}");
} catch (Exception e) {
MessageBox.Show(e.ToString());
}
Dts.TaskResult = (int) ScriptResults.Success;
}
}
}
脚本任务。我的IDE版本是Visual Studio 2015 Professional。
安装Newtonsoft之后不显示。当我关闭脚本任务弹出窗口并再次打开脚本任务编辑器时,它显示黄色的感叹号,当我选择Newtonsoft软件包并检查属性时,其路径和版本显示为0.0.0.0。然后,我下载了Newtonsoft软件包并引用了newtonsoft.json.dll文件添加参考。然后显示路径和版本。
但是当我运行程序包时,它显示错误。
我也尝试过关注这篇文章,但是没有成功。
Convert JSON String to JSON Object c# https://www.c-sharpcorner.com/article/json-serialization-and-deserialization-in-c-sharp/ https://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_Linq_JObject_Parse.htm https://www.nuget.org/packages/System.Json/ How to parse JSON without JSON.NET library? Json does not exist in the namespace System Parse JSON string using C# script in SSIS https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio https://www.dotnetjalps.com/2014/04/converting-csharp-object-json-string.html Cannot find JavaScriptSerializer in .Net 4.0
https://riptutorial.com/json-net/topic/1861/getting-started-with-json-net http://www.rockprogrammer.com/2017/08/how-to-install-json-.net-in-visual-studio-2015.htmls
能帮我解决这个问题吗?
谢谢
雪芙罗伊
答案 0 :(得分:0)
对Newtonsoft.Json的引用可能很少(例如您的一个程序集也可能引用指定的版本)。
要检查是否可以使用AsmSpy工具通过以下命令检查程序集引用:
AsmSpy "Here is the path to your bin directory"
请在此处详细了解有关AsmSpy的更多信息:https://github.com/mikehadlow/AsmSpy
这可能有助于分析您的参考文献有什么问题
答案 1 :(得分:0)
感谢大家。
最后,我能够通过流动问题来解决问题 Joost van Rossum的文章。感谢Joost van Rossum
将程序集添加到GAC 在使用程序集之前,我们必须将其添加到全局程序集缓存(GAC)中。再次打开Visual Studio 2008命令提示符(对于Vista / Windows7 / etc。以管理员身份打开它)。并执行以下命令。 gacutil / i d:\ myMethodsForSSIS \ myMethodsForSSIS \ bin \ Release \ myMethodsForSSIS.dll
有关更多信息,请阅读本文 http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html https://social.msdn.microsoft.com/Forums/sqlserver/en-US/d70cac36-6aa5-42cb-89a8-1a24cb5a0cad/cant-find-external-dll-reference-in-ssis-2012-script-task?forum=sqlintegrationservices