Asp.net Filemode不是io的成员

Asp.net Filemode不是io的成员,asp.net,vb.net,.net,Asp.net,Vb.net,.net,我正在尝试使用下面的代码尝试关闭文件流,因为即使在服务器上仍在使用该文件流时,我仍会在处理该文件流后出错。所以我想可能会循环它,直到它关闭,因为它不会关闭后,一次尝试。无论如何,我得到的错误是FileMode、File Access、FileShare不是IO的成员 Dim thisFileInUse As Boolean = False Dim fs As System.IO.FileStream If System.IO.File.Exists(sFile) Then

我正在尝试使用下面的代码尝试关闭文件流,因为即使在服务器上仍在使用该文件流时,我仍会在处理该文件流后出错。所以我想可能会循环它,直到它关闭,因为它不会关闭后,一次尝试。无论如何,我得到的错误是FileMode、File Access、FileShare不是IO的成员

Dim thisFileInUse As Boolean = False
    Dim fs As System.IO.FileStream

    If System.IO.File.Exists(sFile) Then
        Try
            fs = System.IO.File.Open(sFile, io.FileMode.Open, io.FileAccess.Write, io.FileShare.ReadWrite)
            fs.Close()
            fs.Dispose()
        Catch
            Try
                fs.Close()
                fs.Dispose()
            Catch

            End Try

            thisFileInUse = True
        End Try
    End If
    Return thisFileInUse
试试这个:

Imports System.IO


Dim thisFileInUse As Boolean = False
Dim fs As FileStream

If File.Exists(sFile) Then
    Try
        fs = File.Open(sFile, FileMode.Open, FileAccess.Write, FileShare.ReadWrite)
 ...

System.IO
是命名空间名称,如果导入它,可以避免反复键入。

最后使用
和正确的命名空间
System.IO

Imports System.IO
' ....

Public Shared Function IsFileInUse(sFile As String) As Boolean
    Dim stream As FileStream = Nothing
    Dim isInUse As Boolean = False
    Try
        stream = File.Open(sFile, FileMode.Open, FileAccess.ReadWrite, FileShare.None)
    Catch generatedExceptionName As IOException
        isInUse = True
    Finally
        If stream IsNot Nothing Then
            stream.Close()
        End If
    End Try
    Return isInUse
End Function