0

我想让Lucene.NET在共享主机环境上工作。 Mascix结束了codeproject纲要here他是如何得到这个在godaddy上工作的。我正在尝试isqsolutions这个。共享主办Lucene.NET

两个例子,他张贴了我的本地机器上运行良好,并都扔在共享托管服务器上的同样的错误:

Compiler Error Message: CS0246: The type or namespace name 'Lucene' could not be found (are you missing a using directive or an assembly reference?) 

Line 1: <%@ Page Language="C#" %>Line 2: 
Line 3: <%@ Import Namespace="Lucene.Net.Index" %> 
Line 4: <%@ Import Namespace="Lucene.Net.Analysis.Standard" %> 
Line 5: <%@ Import Namespace="Lucene.Net.Documents" %> 

我试着在web.config中增加一个直接引用Lucene.NET assambly像这样:

<add assembly="Lucene.Net, Version=2.3.1.2, Culture=neutral, PublicKeyToken=a58a1be7fafc31f5"/> 

但是,这也引发了自己的错误。我想我的问题是:我错过了一些简单的东西,或者可以通过服务器端设置导致这一切都不起作用?

回答

3

如果Lucene.NET没有安装在服务器上,您将不得不复制项目中的Lucene.NET dll,并添加对此副本的引用。例如,您现在可能有一个链接到Program Files目录中某个dll的引用。它存在于您的服务器上,但不在部署服务器上。

或者,您也可以在dll上将属性'Copy to output directory'设置为'Copy always'。

+0

感谢您的回复Razzie。这就是网站首先被安装的方式。 Lucene.Net.dll存在于bin文件夹中。我没有安装lucene.net代码,只下载了一个可以在我的本地PC上正常工作的代码示例。我的电脑只有一个dll的副本,也就是代码示例中包含的一个。 – 2009-11-10 14:25:19

+0

好,很难分辨出什么是错的。我不是共享主机方面的专家,但如果你说的都是真的,那对我来说听起来就没问题。如果您在文本编辑器中打开项目文件,是否将dll列为参考?它的路径是否正确?如果是这样,那么也许你应该联系供应商,也许他们可以告诉你更多。我不知道任何服务器端设置可能会'阻止'一个DLL。你的DLL可能需要完全信任,但至少应该给你一个不同的错误。 – Razzie 2009-11-11 08:35:07

1

我创建了一个使用Lucene的asp.net应用程序,它工作正常。这里有一个关于我的帖子的链接(Goomez)。此外,该代码可供下载。希望它有帮助