我创建了一个运行可执行文件的webform。可执行文件访问智能表,将该信息下载到Excel,然后将excel中的信息添加到SQL数据库中。然后它删除该智能表并将其替换为下一周的空白模板。
可执行文件可以独立工作。但是当我从Web表单运行可执行文件时,它的工作原理是它显示窗体,显示它的意思,并访问sql数据库。但是当我尝试访问智能表时,我收到以下错误。
有关调用实时的详细信息,请参阅此消息的结尾 (JIT)调试而不是此对话框。
**************异常文本************** System.IO.FileNotFoundException:无法加载文件或程序集 'smartsheet-csharp-sdk,版本= 1.0.6.0,文化=中立, PublicKeyToken = null'或其依赖项之一。系统不能 找到指定的文件。文件名:'smartsheet-csharp-sdk, Version = 1.0.6.0,Culture = neutral,PublicKeyToken = null'at SmartSheetAPI.Smartsheet..ctor()at p:\ Visual中的SmartSheetAPI.loadPerformanceChart.commitToDataBase() Studio 2013 \ Projects \ SmartSheet \ SmartSheetAPI \ Graphs.cs:第322行 SmartSheetAPI.loadPerformanceChart.commitToDatabase_Click(对象 发件人,EventArgs e)在p:\ Visual Studio中 2013 \ Projects \ SmartSheet \ SmartSheetAPI \ Graphs.cs:第306行 System.Windows.Forms.Control.OnClick(EventArgs e)at System.Windows.Forms.Button.OnClick(EventArgs e)at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)at at System.Windows.Forms.Control.WmMouseUp(Message& m,MouseButtons 按钮,Int32点击)at System.Windows.Forms.Control.WndProc(Message& m)at System.Windows.Forms.ButtonBase.WndProc(Message& m)at System.Windows.Forms.Button.WndProc(Message& m)at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 在System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)在System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32) msg,IntPtr wparam,IntPtr lparam)
警告:装配绑定日志记录已关闭。要启用程序集绑定 失败日志记录,设置注册表值 [HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)为1.注意:有 与程序集绑定失败相关的一些性能损失 日志记录。要关闭此功能,请删除注册表值 [HKLM \ SOFTWARE \微软\融合!EnableLog]。
我已经将智能表sdk引用添加到Web表单中(虽然我认为这不是必要的,因为它是在windows窗体中,并且正如我所说,它自己的窗体可以运行没有问题)。但它就在那里。
有谁知道问题是什么?
答案 0 :(得分:0)
我已经解决了这个问题。问题是SmartSheet SDK位于visual studio项目的packages文件夹中。但.NET似乎在运行时 - 运行可执行文件时找到该文件夹时遇到问题。通过将SmartSheet SDK的.dll和其他所需的.dll复制到与可执行文件相同的文件夹中,程序成功运行。除非有人能以这种方式看到任何问题,否则我很高兴。