在Visual Studio 2013中使用nuget,我在我的Windows x64 PC上将Ghostscript.NET安装到我的项目中.
为了确保我没有疯狂,我检查了一下:
PM> Install-Package Ghostscript.NET 'Ghostscript.NET 1.2.0' already installed. Project already has a reference to 'Ghostscript.NET 1.2.0'. PM>
该项目由多个开发人员使用.它针对任何CPU,并且需要保持这种状态.
这是我的代码:
public static void GhostscriptNetProcess(String fileName, String outputPath) { var version = GhostscriptVersionInfo.GetLastInstalledVersion(); var source = (fileName.IndexOf(' ') == -1) ? fileName : String.Format("\"{0}\"", fileName); var output_file = (outputPath.IndexOf(' ') == -1) ? outputPath : String.Format("\"{0}\"", outputPath); var gsArgs = new List(); gsArgs.Add("-q"); gsArgs.Add("-dNOPAUSE"); gsArgs.Add("-dNOPROMPT"); gsArgs.Add("-sDEVICE=pdfwrite"); gsArgs.Add(String.Format(@"-sOutputFile={0}", output_file)); gsArgs.Add("-f"); gsArgs.Add(source); var processor = new GhostscriptProcessor(version, false); processor.Process(gsArgs.ToArray()); }
每当我尝试调试应用程序时,都会收到以下错误消息:
Ghostscript.NET.dll中出现未处理的"Ghostscript.NET.GhostscriptLibraryNotInstalledException"类型异常
附加信息:此托管库在32位进程下运行,需要在此计算机上安装32位Ghostscript本机库!要下载正确的Ghostscript本机库,请访问:http://www.ghostscript.com/download/gsdnld.html
查看Ghostscript.NET.GhostscriptLibraryNotInstalledException没有提供任何有用的信息,虽然CodeProject上的这篇文章表明调试器在32位模式下运行,而我安装了64位版本.
小智.. 6
如果使用MS Test进行测试,则必须设置运行测试的处理器体系结构,因为Ghostscript.Net会验证进程体系结构(Environment.Is64BitProcess)以在注册表中搜索ghostscript安装.
在菜单>测试>测试设置>默认处理器体系结构> X64中.
如果使用MS Test进行测试,则必须设置运行测试的处理器体系结构,因为Ghostscript.Net会验证进程体系结构(Environment.Is64BitProcess)以在注册表中搜索ghostscript安装.
在菜单>测试>测试设置>默认处理器体系结构> X64中.
您是否实际安装了Ghostscript?
Ghostscript.NET仅仅是Ghostscript的.NET接口,在我看来,它类似于以下消息:
“此托管库正在32位进程下运行,并且需要在此计算机上安装32位Ghostscript本机库!要下载正确的Ghostscript本机库,请访问:http : //www.ghostscript.com/download/gsdnld.html ”
试图告诉您您没有安装32位版本的Ghostscript。它甚至告诉您要去哪里下载副本。
那您安装了Ghostscript吗?您是否已安装32位版本的Ghostscript?