我正在编写代码,通过WinSCP将文件上传到sftp服务器。代码中的其他所有内容都正常工作,除非我开始将WinSCP包含到代码中。程序集安装程序失败,因为它显示了未将对象引用设置为对象实例的错误。
这是在Windows上运行的,使用的是WinSCP .net引用中包含的VS 2010。
下面是设置程序集的代码,我无法使用NuGet,因为这需要更高版本的Visual。
因此,我必须创建这个程序集,这是我从WinSCP网站本身得到的,但是我不明白我在这里缺少了什么。
            try
            {
                Assembly executingAssembly = Assembly.GetExecutingAssembly();
                string resName = executingAssembly.GetName().Name + "." + "WinSCP.exe";
                using (Stream resource = Assembly.GetExecutingAssembly().GetManifestResourceStream(resName))
                using (Stream file = new FileStream(executablePath, FileMode.Create, FileAccess.Write))
                {
                    resource.CopyTo(file);
                }
            }
            catch (System.Exception ex)
            {
                WriteToFile("Cant setup assembly : " + ex.Message);结果应该是,当程序集成功创建时,上传会话将能够在我收到一个错误的上传会话时进行“C:\Windows\TEMP\WinSCP.tmp311D.exe ()版本与此程序集somedir\WinSCPnet.DLL的版本不匹配(5.15.2.0)”。
一个小小的援助将是非常有帮助的。
发布于 2019-07-31 07:17:59
我发现了问题。显然,我已经有了程序集,这就是为什么错误提到我有错误的程序集版本。但是,它无法匹敌的主要原因是
我的问题解决了。
https://stackoverflow.com/questions/56800938
复制相似问题