为什么我不能将newtonsoft.Json.dll ref添加到我的项目中?

时间:2013-08-14 11:03:42

标签: c# json visual-studio-2010 reference json.net

请查看http://www.youtube.com/watch?v=6MRzbJBvM7c并跳至1.25。

我试图添加一个引用'Newtonsoft.Json.dll'我已经按照他的要求。将此ref从“浏览”标签添加到“最近”标签。如果我查看ref列表中的refs列表,它会列出但带有黄色标记。

当我将光标悬停在标志上时,它表示:不可用,因为它不存在,或者没有构建?所以我已经从ref列表中删除了它并尝试重新添加它。

它只出现在'最近'部分,当我添加它时,我得到:

无法添加对“Newtonsoft.Json.dll”的引用。?

任何想法的人?

6 个答案:

答案 0 :(得分:33)

它的可能你的构建系统中的东西:dll很可能被清理(如重建删除),或者是在你的解决方案之下的目录中,或者只是不是'被复制到输出目录。

对不起,我没有更具体的建议。我要做的是建议你用射击枪杀死一只蚊子:使用NuGet。在使用Visual Studio(或任何其他.net IDE)的C#中,您真的想要使用nuget包管理器,因为它运行良好。

  1. 安装visual studio扩展程序,
  2. 右键单击您的解决方案(不要执行项目,执行解决方案)
  3. 选择“管理解决方案的Nuget包”
  4. 点击“在线”,在搜索框中输入“newtonsoft”
  5. 点击“Json.NET”上的“安装”(可能是您要查找的另一个包中的内容,我会要求您跟踪它)。
  6. 这会将它放在库目录中,将其包含在构建路径中,并允许您使用Intelli意义从项目中自动添加适当的引用。

答案 1 :(得分:5)

确保将项目目标框架设置为正确的版本。可能是项目的目标.NET框架低于Newtonsoft dll的构建。右键单击您的项目,看看它的设置。您需要查看属性。

答案 2 :(得分:2)

我遇到了同样的问题。

Nuget有效,但对于较旧的Visual Studios,例如2005/2008,它可能很棘手(不幸的是,这是我的情况)。

我下载了Json.NET here。在二进制文件中,选择与.Net Framework版本匹配的文件,在项目文件夹(例如lib)中添加dll,并将其作为参考包含在内。然后,玩得开心!

答案 3 :(得分:1)

好的,这是一个愚蠢的答案,但有时你犯了愚蠢的错误......:如果你的解决方案中有多个子项目,请确保将引用添加到正确的项目中(或全部)!

答案 4 :(得分:0)

检查Json.net是否已安装在您的项目中。

如果已安装,请删除"包"来自" packages.config"文件。现在转到NuGet"软件包管理器控制台"并使用以下命令安装新程序包:

PM>安装包Newtonsoft.Json {您的项目名称} 6.0.3 nuget.org

如果没有安装,请转到NuGet并搜索JSon.Net并选择项目并单击安装。

Sreekanth

答案 5 :(得分:0)

对于我来说,我遇到了同样的问题,那么我可以通过发送文章来解决

http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html

将程序集添加到GAC 在使用程序集之前,我们必须将其添加到全局程序集缓存(GAC)中。再次打开Visual Studio 2008命令提示符(对于Vista / Windows7 / etc。以管理员身份打开它)。并执行以下命令。 gacutil / i d:\ myMethodsForSSIS \ myMethodsForSSIS \ bin \ Release \ myMethodsForSSIS.dll