Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
.net File.Delete()不在运行模式下工作,但仅在调试模式下工作_.net_C# 4.0_File Io - Fatal编程技术网

.net File.Delete()不在运行模式下工作,但仅在调试模式下工作

.net File.Delete()不在运行模式下工作,但仅在调试模式下工作,.net,c#-4.0,file-io,.net,C# 4.0,File Io,我有一个奇怪的问题。 我将上传的文件保存到数据库,然后尝试删除上传的文件 从上传文件夹 这在调试模式下可以正常工作,但在运行模式下,文件保持未删除状态 有人面临这个问题吗 这是.NET4 下面的代码片段: private string SaveFiles(string rootFolder) { var uploadedPhotos = GetAllFilesUploaded(); foreach (var file in uploadedFiles) { s

我有一个奇怪的问题。 我将上传的文件保存到数据库,然后尝试删除上传的文件 从上传文件夹

这在调试模式下可以正常工作,但在运行模式下,文件保持未删除状态

有人面临这个问题吗

这是.NET4

下面的代码片段:

private string SaveFiles(string rootFolder)
{
  var uploadedPhotos = GetAllFilesUploaded();
foreach (var file in uploadedFiles)
{
                string path= Path.Combine(rootFolder, "userfile", file.FileName);

                FileService.SaveUploadedFile(fileName, GetBytesFromLocalFile(path));

                File.Delete(path); <-- this only works in debug mode!!

                }
    }

    public static byte[] GetBytesFromLocalFile(string filePath)
            {
                using (FileStream fs = new FileStream(filePath, FileMode.Open))
                {
                    byte[] bytes = new byte[fs.Length];
                    fs.Read(bytes, 0, (int)fs.Length);
                    return bytes;
                }
            }
私有字符串保存文件(字符串根文件夹)
{
var uploadedPhotos=getAllFilesUpload();
foreach(上传文件中的var文件)
{
字符串路径=path.Combine(根文件夹,“userfile”,file.FileName);
SaveUploadedFile(文件名,GetBytesFromLocalFile(路径));

File.Delete(path);IMO因为它在调试模式下工作,所以这没有编码问题。问题在于为File.Delete(path)提供的路径。因为acc


在发布模式下检查路径。这可能与bin文件夹中的发布和调试文件夹有关。

IMO因为它在调试模式下工作,所以这不是编码问题。问题在于为File.Delete(path)提供的路径。自acc到


检查发布模式下的路径。可能与bin文件夹中的Release和Debug文件夹有关。

要添加到Nikhil的答案中,我建议在发布模式下放置一个带有
路径的
消息框
,并手动检查路径是否正确


注意:不要忘了在之后移除
消息框。

要添加到Nikhil的答案中,我建议将
消息框
路径
放在释放模式下,手动检查路径是否正确


注意:不要忘记在之后删除
消息框。

我遇到了同样的问题。你解决过这个问题吗?我遇到了同样的问题。你解决过这个问题吗?
If the file to be deleted does not exist, no exception is thrown.