Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.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#_Visual Studio 2010_Debugging_Try Catch - Fatal编程技术网

C# 构建解决方案问题

C# 构建解决方案问题,c#,visual-studio-2010,debugging,try-catch,C#,Visual Studio 2010,Debugging,Try Catch,我正在使用Visual Studio 2010和C# 当我使用开始调试工具(F5)时,一切似乎都正常。所以我构建了解决方案 现在,我结束了VisualStudio2010的讨论,转到为程序保存“应用程序”的路径。当我双击该文件时,程序运行良好。但是,当我点击GUI中的“保存”按钮时,它保存了文件,但被我的try/catch块捕获 为什么双击应用程序时会发生这种情况,而在运行VisualStudio2010进行调试时不会发生这种情况 编辑: 试试看 { StreamWriter sw2=新的Str

我正在使用Visual Studio 2010和C#

当我使用开始调试工具(F5)时,一切似乎都正常。所以我构建了解决方案

现在,我结束了VisualStudio2010的讨论,转到为程序保存“应用程序”的路径。当我双击该文件时,程序运行良好。但是,当我点击GUI中的“保存”按钮时,它保存了文件,但被我的try/catch块捕获

为什么双击应用程序时会发生这种情况,而在运行VisualStudio2010进行调试时不会发生这种情况

编辑:
试试看
{
StreamWriter sw2=新的StreamWriter(saveFile2.FileName);
List universalLineList=新列表();
string file=saveFile2.FileName;
string[]splitFile=file.Split('\\');
字符串[]savedName=splitfile[6]。拆分('.');
int i=1;
sw2.WriteLine(savedName[0]);
sw2.WriteLine(“创建于:”+DateTime.Now.toSortDateString()+”处:“+DateTime.Now.ToString”(“HH:mm:ss”);
sw2.WriteLine();
while(i
我认为是以下几行:

string file = saveFile2.FileName;
string[] splitFile = file.Split('\\');
string[] savedName = splitfile[6].Split('.');
我猜当您从命令行运行文件时,您的路径不够长,无法容纳第7个元素(可能路径类似“\xzy.txt”


要100%确定,还要检查异常的StackTrace,以获取包含错误的行。

您可能应该查看捕获到的异常,以了解这一点。告诉我们异常是什么,有人可能会很快找到它。抛出的异常是什么?我确定有一些I/O权限,如在调试中所有模式都是可写的。我不明白为什么它可以运行Visual Studio,但是当我构建它,并将构建的文件移动到另一台计算机(甚至是同一台计算机)上时,它可以工作,除了保存部分。看-不要使用“catch(Exception)”。至少使用“catch(Exception ex)”,并为我们提供“ex.ToString()的内容我怎样才能得到最后一项-1?实际上有8个splitFile部分,但我想要7个。所以我猜..如果有15个部分要splitFile,我怎么才能得到14个?或者如果splitFile有99个部分,我怎么才能得到98个?这是不是类似于
splitFile[splitFile.Length-1].Split('.)
?完全正确。请将saveName写入控制台进行检查。我在您的程序片段中没有看到其他部分会引发这样的异常,而且这一行很危险。只需使用
System.IO.Path.GetFileName()
string file = saveFile2.FileName;
string[] splitFile = file.Split('\\');
string[] savedName = splitfile[6].Split('.');