【问题标题】:C# ASP.NET cs0246 issueC# ASP.NET cs0246 问题
【发布时间】:2011-11-15 19:53:28
【问题描述】:

我遇到了一个问题,在我的 Web 服务器上不断收到错误消息 CS0246,但在我的 Visual Studio 环境中却没有。问题来自我在项目中引用的 dll。服务器找不到我的 dll 的命名空间。

为了解决这个问题,我尝试将项目目录中的每个文件复制到我的 Web 服务器,在我的 web.config 文件中添加一个标签,并在我的 aspx 页面中添加一个导入语句。我还尝试在我的 aspx 页面中添加程序集引用,但这似乎需要更改我认为我无权访问的注册表。

我还应该注意我的 dll 和命名空间名称是不同的,但是更改其中任何一个的名称都无济于事。我也彻底删除了dll,直接将代码文件复制到我的项目中,但还是找不到命名空间。

因此,我认为我应该在其他地方注册名称空间和 dll,但我不知道在哪里。任何帮助将不胜感激。

如果重要的话,我的 web 项目和 dll 都使用 .NET2.0

【问题讨论】:

  • 这个DLL原来是在网站的bin目录下吗?
  • DLL 现在在里面。在我的 Visual Studio 项目中,参考是实际项目。我试过从不同的地方引用实际的 DLL 无济于事。
  • 您解决了这个问题吗?如果对您有帮助,请在下面查看我的答案。如果是这样,请将其标记为正确以帮助下一个读者。

标签: c# asp.net


【解决方案1】:

我知道这相当于烦人的“您重新启动了吗”,但是您是否尝试过制定新的解决方案并重新添加项目和引用?有时 .sln 文件可能会损坏。

【讨论】:

  • 谢谢,我没有尝试过,但我只是尝试过,但没有解决任何问题。我也尝试重新创建项目,但没有解决任何问题。
【解决方案2】:

有时,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 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 2012-01-25
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多