我有.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?提前谢谢。
答案 0 :(得分:10)
不要从obj\Debug
目录运行它 - obj
目录基本上是临时构建工件。相反,从bin\Debug
目录运行它,您将在其中找到所有依赖项(在本例中为Newtonsoft.Json.dll
)。
基本上,几乎在所有情况下都可以忽略obj
目录 - 它与相关性极为罕见。 bin
目录是包含有用结果的实际输出文件夹。