Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文本文件可以';参考其他项目时无法找到_C#_Projects And Solutions_Filenotfoundexception - Fatal编程技术网

C# 文本文件可以';参考其他项目时无法找到

C# 文本文件可以';参考其他项目时无法找到,c#,projects-and-solutions,filenotfoundexception,C#,Projects And Solutions,Filenotfoundexception,还有一个问题。我有一个解决方案“solution1”,在这个解决方案中有3个项目“projectA”、“projectB”、“projectC”。我从projectA中参考了projectB和projectC。我已将另外两个项目添加到我的解决方案文件夹中,该文件夹已包含我的projectA。 我已经在解决方案资源管理器中添加了它们,并如我所说进行了引用 现在,当我单击projectA表单上的按钮时: private void formProjectAButton_Click(object

还有一个问题。我有一个解决方案“solution1”,在这个解决方案中有3个项目“projectA”、“projectB”、“projectC”。我从projectA中参考了projectB和projectC。我已将另外两个项目添加到我的解决方案文件夹中,该文件夹已包含我的projectA。 我已经在解决方案资源管理器中添加了它们,并如我所说进行了引用

现在,当我单击projectA表单上的按钮时:

    private void formProjectAButton_Click(object sender, EventArgs e)
    {
        this.Hide();
        projectB.Form1 fs = new projectB.Form1();         
        fs.Show();
    }
projectB的表单显示没有问题。但当我使用projectB中的表单时(其中包含一个picturebox和一个文本框。picturebox只包含一个静态图像,它位于我的bin/debug文件夹中。文本框包含我在单击picturebox时加载的文本):

但现在,当我单击picturebox将文本文件(位于projectB调试文件夹中)中的文本加载到文本框时,我得到了一个文件NotFoundExection

我能做些什么来解决这个问题


提前感谢。

您使用的是相对路径。相对路径是当前工作文件夹的

因此,如果项目a位于C:\Foo\ProjectA中,项目B位于C:\Foo\ProjectB中,那么项目a中的文本文件将位于C:\Foo\ProjectA\bin\Debug\Foo.txt中。您需要定位到相对于工作文件夹的正确文件夹,或指定完整路径

例如,你可以试试这样的东西。显然,这只是一个例子,让你知道你是如何完成你所追求的。
File.OpenText(“..\..\ProjectA\bin\Debug\gebod1.txt”)

此上下文中的
表示“树中的上一个文件夹”。因此,如果您在C:\Foo\Bar中,相对路径
。\Baz
将表示C:\Foo\Baz\


另一种选择是向ProjectA添加生成后步骤,将文件复制到已知文件夹,然后从该位置引用该文件。

谢谢您的帮助。但当我点击projectA表单1上的按钮时,projectA会自动关闭,projectB会自动打开,这难道不是一种方式吗?然后,当我点击projectB表单上的一个按钮(如“返回projectA表单1”)时,projectB关闭(不是隐藏,而是真正关闭),projectA打开?这样我就不必弄乱路径,程序也可以打开完整的projectB。我希望你明白我的意思
    private void picturebox1_Click(object sender, EventArgs e)
    {
        textBox1.Text = "";



            inputStream = File.OpenText("gebod1.txt");
            string line = inputStream.ReadLine();
            while (line != null)
            {
                textBox1.AppendText(line);
                line = inputStream.ReadLine();
            }



        textBox1.Visible = true;
    }