gpt4 book ai didi

c# - WinSCP .NET 程序集抛出 "The module was expected to contain an assembly manifest"

转载 作者:行者123 更新时间:2023-11-30 15:31:56 25 4
gpt4 key购买 nike

我正在尝试在我的 C# 项目中使用 WinSCP 来实现一些 ftp 自动化。我正在使用 Visual Studio 2012,但不确定如何让它工作。

到目前为止我所做的事情:

  • 我将 WinSCP.exe 复制到我的项目文件夹中。
  • 我将对 WinSCPnet.dll 的引用导入到我的项目中
  • 我运行了 C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe Path/To/WINSCPnet.DLL/codebase/tlb

这是我目前的代码:

using WinSCP;

static void Main(string[] args)
{
try
{
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = "hostname.address.com",
UserName = "Username",
Password = "Password"
};
}
catch (Exception e)
{
Console.WriteLine("Error: {0}", e);

}
}

当我在代码中运行它时,出现以下异常:

Could not load file or assembly 'WinSCP, Version=1.0.7.3446, Culture=neutral,
PublicKeyToken=b5f19f5762436b89' or one of its dependencies. The module was expected to
contain an assembly manifest.

Visual Studio 的错误是:BadImageFormatException 未处理。

我不太确定如何将 WinSCP 导入到我的 C# 程序中,希望能在这里提供一些指导。

结论我使用的是 5.2.5 Beta 和 32 位,但我的项目是 64 位

最佳答案

我想你的项目是 64 位的,而 WinSCP .NET 程序集的分布式二进制文件只有 32 位。将您的项目切换到 32 位或从源代码构建 64 位版本的程序集。

另请注意,您不需要注册程序集 (regasm)。这仅适用于 COM 互操作。当你直接使用它时。

关于c# - WinSCP .NET 程序集抛出 "The module was expected to contain an assembly manifest",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19882745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com