我让每件事都运行得很好。但后来我决定将一种类型的DateTimeRange
移到单独的项目中(同一解决方案中的DLL)。此外,我还将名称空间从XYZ.ABC
更改为XYZ.DEF
。
它在Visual Studio中工作得很好,但是在我在IIS
上发布站点后,它抛出了异常。
System.Web.HttpCompileException (0x80004005)
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\...\App_Web__viewName.cshtml.a05ae3fa.cybothwk.0.cs(31):
error CS0234: The type or namespace name 'DateTimeRange' does not exist in the namespace 'XYZ.ABC' (are you missing an assembly reference?)
它说在命名空间XYZ.ABC
中找不到DateTimeRange
。但是我已经更新了视图,以使用更新后的命名空间中的模型。
我试图清除ASP.NET临时文件,但没有帮助。我有第二个项目的引用,copy local
设置为true。
发布于 2019-10-23 07:17:33
1)您需要检查的第一件事是ASP.NET MVC项目中类库的引用是否将"Copy Local“属性设置为true。
2)在Views文件夹下的web.config文件(非根文件夹web.config文件)的标签内添加手动找不到的命名空间:
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
...
</namespaces>
3)尝试将命名空间直接添加到导致问题的视图本身。在视图的开头添加@using指令:
@using MyCustomClass;
4)需要检查类项目的属性:
https://stackoverflow.com/questions/58505486
复制