使用Windows智能客户端应用程序,它在我的(开发)机器上运行正常,但当我在用户的机器上安装它时,我收到此错误:
Requires log4net version 1.2.10 be installed in GAC
在我的开发机器上,我有两个GAC的log4net文件:一个x86,一个64位。用户计算机只有x86版本。所以我猜用户需要64位,是吗? 如果是这样,我如何安装64位版本的log4net?
请注意,这是一个与此不同的错误: Error: Could not load log4net assembly
我发现了另一个不同之处。如果我在开发/调试配置中发布,它可以工作。如果我在Release配置中发布,我会收到错误。
似乎没有直接的log4net引用。它可以在CrystalReports或NHibernate中使用,也可以两者兼用。
在Debug Configuration中,应用程序以32bit运行,在Release Configuration中,应用程序以64bit运行。如果我可以将发布配置作为32位运行,我认为这将解决问题。有谁能说怎么做?
答案 0 :(得分:4)
您可以在Visual Studio中将版本配置更改为x86 =>项目属性=>编译=>高级编译选项
答案 1 :(得分:2)
检查log4net引用上是否有Copy local = true。如果为false,则必须在GAC中安装log4net,如果为true,则它将包含在应用程序bin目录中。
如果要在gac中安装它,可以使用gacutil将log4net.dll安装到gac中。检查您的应用程序是否在64位(进程资源管理器)中运行,如果是,则需要安装64位版本。
答案 2 :(得分:1)
我的ClickOnce应用程序遇到了类似的问题。我试图将log4net dll放在GAC中并发布,但是没有用。它也与32/64位版本无关。
我的解决方案是
希望这有帮助。