我重命名了我的项目,它会在之前编译,但是当我做了一些更改后,它因某种原因停止了工作
错误是
Compiler Error Message: CS0246: The type or namespace name 'Lab4' could not be found (are you missing a using directive or an assembly reference?)
我从Lab4的模板中创建了一个新项目,并按照此处的步骤将其重命名为lab5
http://petermcintyre.com/topics/using-an-app-as-a-template-asp-net-mvc/
我找到了源文件
Line 28: using Lab4;
Line 29:
Line 30:
Source File: c:\Users\Albert\AppData\Local\Temp\Temporary ASP.NET Files\root\4b806faf\de1f1e7\App_Web_index.cshtml.a8d08dba.c_hu0onk.0.cs Line: 28
但当我尝试将Lab4更改为lab5并重新编译时,会发生同样的错误,并且该文件会被删除,而新的文件会出现相同的Lab4问题。
有谁知道答案?
答案 0 :(得分:50)
当Visual Studio创建项目时,它会自动将其原始名称空间添加到\Views\web.config
:
<system.web.webPages.razor>
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
...
...
...
<add namespace="OriginalProjectNamespace" />
</namespaces>
</pages>
</system.web.webPages.razor>
重命名项目或更改其默认命名空间后,您必须在此文件中手动更改它。
答案 1 :(得分:3)
这可能是VS重命名时未更新的引用/路径。这很快又脏,但是如果你对旧项目名称的解决方案文件夹运行Grep并将其替换为新项目,然后在VS中重新打开并编译它应该可以解决你的问题。
答案 2 :(得分:0)
转到视图文件夹,打开Web配置,然后将名称空间更改为新的名称空间。
答案 3 :(得分:0)
如果您在Visual Studio中使用F2 / Rename重命名了项目,并且使用的是.NET Core,则还请检查:
/Views/_ViewImports.cshtml
执行深度搜索:(Ctrl + Shift + F),然后在Find what
中添加您的旧名称空间。在Look in
内,选择Current Project (Including External Items)
。
这应该向您显示更多未被Visual Studio自动重命名的文件。用新的名称空间手动重命名旧的名称空间。
小心盲目重命名!不是因为您重命名了项目,而是意味着它也重命名了文件夹结构!有许多有关旧文件夹结构的参考。我强烈建议逐步
重命名答案 4 :(得分:0)
例如,如果您在Privacy.cshtml cs02046上遇到此错误, 只需转到此剃须刀页面Privacy.cshtml,将@model PrivacyModel更改为[YOUR_RENAME_NAMESPACE] .Pages.PrivacyModel