我遇到了一个问题,我不断在我的网络服务器上收到错误消息CS0246,但在我的visual studio环境中却没有。问题来自我在项目中引用的dll。服务器无法为我的dll找到我的命名空间。
为了解决这个问题,我尝试将项目目录中的每个文件复制到我的Web服务器,在我的web.config文件中添加一个标记,并在我的aspx页面中添加一个import语句。我也尝试在我的aspx页面中添加一个程序集引用,但这似乎需要在注册表中进行更改,我认为我无法访问它。
我还应该注意我的dll和命名空间名称是不同的,但更改名称或者没有做任何事情。我也完全删除了dll并将代码文件直接复制到我的项目中,但它仍然找不到命名空间。
我认为我应该在其他地方注册命名空间和dll,但我无法弄清楚在哪里。任何帮助将不胜感激。
如果重要,我的web项目和dll都使用.NET2.0
答案 0 :(得分:0)
我知道这相当于烦人的“你重启了吗”,但是你尝试过制作新的解决方案并重新添加项目和参考资料吗?有时.sln文件可能会损坏。
答案 1 :(得分:0)
有时,web.config文件包含.NET框架生成临时文件的说明。
请检查配置文件中的类似内容:
<system.web.webPages.razor>
<host
factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="YourNamespace.ShouldBeCorrect.Here" />
</namespaces>
</pages>
</system.web.webPages.razor>
如果您的错误页面包含对动态生成文件的引用,例如:
,则可能出现这种情况Source File: c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\133f2363\4ba6d0ba\App_Web_index.cshtml.a8d08dba.ociepbng.0.cs Line: 27