找不到对库的引用

时间:2017-12-07 20:25:02

标签: .net vb.net

尝试将路径A中的文件复制到路径B,但它不断向我发送错误消息

  

{“无法加载文件或程序集'AlphaVSS.x64,Version = 1.4.0.0,   Culture = neutral,PublicKeyToken = 959d3993561034e3'或其中一个   依赖。尝试加载程序不正确   格式。“}

我试用的代码

  Public Sub copyFile(baza As String, destination As String)

        If IO.File.Exists(baza) Then

            Dim myFileInfo As FileInfo
            myFileInfo = New FileInfo(baza)

            Dim _volume As String = myFileInfo.Directory.Root.Name

            Dim _vssImplementation As IVssImplementation = VssUtils.LoadImplementation()
            Dim _backup As IVssBackupComponents = _vssImplementation.CreateVssBackupComponents()

            _backup.InitializeForBackup(Nothing)

            _backup.GatherWriterMetadata()

            _backup.SetContext(VssVolumeSnapshotAttributes.Persistent Or VssVolumeSnapshotAttributes.NoAutoRelease)
            _backup.SetBackupState(False, True, Alphaleonis.Win32.Vss.VssBackupType.Full, False)

            Dim MyGuid01 As Guid = _backup.StartSnapshotSet()
            Dim MyGuid02 As Guid = _backup.AddToSnapshotSet(_volume, Guid.Empty)

            _backup.PrepareForBackup()
            _backup.DoSnapshotSet()

            _backup.ExposeSnapshot(MyGuid02, Nothing, VssVolumeSnapshotAttributes.ExposedLocally, "L:")

            Dim sVSSFile2 As String = baza.Replace(_volume, "L:\")

            If (File.Exists(sVSSFile2)) Then
                System.IO.File.Copy(sVSSFile2, destination + "\" + System.IO.Path.GetFileName(baza), True)

                For Each prop As VssSnapshotProperties In _backup.QuerySnapshots
                    If (prop.ExposedName = "L:\") Then
                        Console.WriteLine("File found !")
                        _backup.DeleteSnapshot(prop.SnapshotId, True)
                    End If
                Next

                _backup = Nothing

                Console.WriteLine("File copied")

            Else

                Console.WriteLine("------------------------------------------")
                Console.WriteLine("File not exist: " + baza)

            End If
        End If
    End Sub

我有VSS nuget包和参考资料

enter image description here

它在行上抛出错误

Dim _vssImplementation As IVssImplementation = VssUtils.LoadImplementation()

3 个答案:

答案 0 :(得分:5)

阅读documentation。使用包

时有要求
  1. 必须使用AlphaVSS在运行任何应用程序的计算机上安装Visual C ++ 2017 Redistributables

  2. 请注意,您的应用程序必须使用"首选32位"如果平台目标设置为任何CPU,则取消选中。另请注意,您的应用程序必须构建为64位才能在64位系统(或任何具有首选32位关闭的CPU)上工作,而在32位工作在32位系统上工作。

  3. 我最初遇到了与您相同的错误,直到我取消选中"首选32位",然后该行代码才有效。

答案 1 :(得分:0)

  

尝试加载格式不正确的程序

此消息表示您正在尝试加载无法由进程运行的可执行文件(.dll,.exe等)(或Windows本身,具体取决于具体情况)。

此错误的最常见原因是尝试将32位代码加载到64位进程(反之亦然)。 64位进程只能运行64位代码,而32位进程只能运行32位代码。

由于AlphaVSS.x64程序集的错误,您的项目很可能被编译为32位可执行文件。您应该删除此引用 将项目更改为仅定位到x64(请注意,如果您执行后者,则无法在32上运行您的应用程序比特机器。)

答案 2 :(得分:0)

手动解决问题。

使用自己的记事本打开* .csproj文件

Traceback (most recent call last):
  File "Solution.py", line 5, in <module>
    print (any([eval(i+"."+j) for i in list(s)]))
  File "Solution.py", line 5, in <listcomp>
    print (any([eval(i+"."+j) for i in list(s)]))
  File "<string>", line 1, in <module>
NameError: name 'q' is not defined