System.IO.FileNotFoundException,Newtonsoft.Json .Net

时间:2016-12-20 09:51:53

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

我有.NET控制台应用程序,并且newtonsoft库存在问题。当我通过单击开始按钮启动Visual Studio的控制台应用程序时,没有问题。一切都是好的。但是,如果我尝试在obj / debug文件夹下运行myprogram.exe,则会出现以下错误:

  

“System.IO.FileNotFoundException:'Newtonsoft.Json,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'file或compilation,或其中一个依赖项。系统找不到指定的文件。文件名:'Newtonsoft.Json,Version = 9.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'   位置:Barcode_Form.Cloud_Form.Check_Cloud(String username,String password)“

private void button_login_Click(object sender, EventArgs e)
    {
        label_response.Text = "Baglaniyor...";
        //Make buttons not clickable until the result of login trial
        Button_status(false);
        try {
            if (textbox_password.Text != "" && textbox_id.Text != "")
            {
                //Check the cloud if the user is valid or not
                if (Cloud_Form.Check_Cloud(textbox_id.Text, textbox_password.Text) == true)
                {

                    user_id = textbox_id.Text;
                    user_pass = textbox_password.Text;
                    Network_Form network = new Network_Form();
                    Network_Form.network.Show();
                    Network_Form.network.Enabled = true;
                    this.Hide();
                    this.Enabled = false;
                    Xml_Write_Login();
                }
            }

        } 
        catch(Exception ex)
        {
            this.Enabled = true;
        }
        label_response.Text = "";
        Button_status(true);
    }

public static bool Check_Cloud(string username, string password)
    {
         try {
             string jsonstr2 = Call_Reseller_JsonStr(username, password);
             JObject outp = JObject.Parse(jsonstr2);
             string return_code = (string)outp["code"]; //check if it is successful or not
            if (return_code.Equals("200") == true)
             {
                 return true;
             }
             else {
                Console.Write("false");
                return false;
             }
         }
         catch(Exception ex)
         {
             return false;
         }
    }

它给出了错误check_cloud功能。如何在不出错的情况下运行myprogram.exe?提前谢谢。

1 个答案:

答案 0 :(得分:10)

不要从obj\Debug目录运行它 - obj目录基本上是临时构建工件。相反,从bin\Debug目录运行它,您将在其中找到所有依赖项(在本例中为Newtonsoft.Json.dll)。

基本上,几乎在所有情况下都可以忽略obj目录 - 它与相关性极为罕见。 bin目录是包含有用结果的实际输出文件夹。