pad*_*gan 14 c# visual-studio asp.net-core-mvc asp.net-core
好吧,让我们开始吧.我正在使用Visual Studio 2015和ASP.NET核心标记助手完全停止工作,不明白为什么我没有改变任何东西.有一天我在工作,他们工作得很好,然后我在第二天进来,现在没有任何ASP.NET核心网络项目显示任何标签助手!?!我已经尝试创建一个全新的ASP.NET核心mvc项目,他们也不在那里工作!我完全陷入困境,是否有某些设置在Visual Studio中完全关闭?
请注意,我已根据大多数其他帖子检查了通常会导致此问题的所有内容.我的_ViewImports有这条线: -
@addTagHelper*,Microsoft.AspNetCore.Mvc.TagHelpers
这是一个完整的project.json文件来自我刚刚创建的一个新项目,并且根本没有做任何修改: -
{
"dependencies": {
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.1",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Routing": "1.0.1",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
},
"tools": {
"BundlerMinifier.Core": "2.0.238",
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},
"frameworks": {
"net452": { }
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"publishOptions": {
"include": [
"wwwroot",
"**/*.cshtml",
"appsettings.json",
"web.config"
]
},
"scripts": {
"prepublish": [ "bower install", "dotnet bundle" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
Run Code Online (Sandbox Code Playgroud)
此外,所有_Layout视图和其他视图都完全失去了以前的突出显示.到目前为止,我在互联网上找不到其他任何人似乎都有这个问题,不要以为其他人有任何想法?
编辑:
下面的答案之一已经解决了新解决方案中的新项目,但我仍然遇到现有解决方案/项目的问题.这是来自其中一个现有项目的项目文件内容,希望有人能在这里找到一些东西......
{
"dependencies": {
"BundlerMinifier.Core": "2.2.306",
"Configuration.Web": "1.0.0-*",
"Microsoft.AspNetCore.Diagnostics": "1.1.0",
"Microsoft.AspNetCore.Mvc": "1.1.0",
"Microsoft.AspNetCore.Mvc.TagHelpers": "1.1.0",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Routing": "1.1.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.AspNetCore.StaticFiles": "1.1.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
"Microsoft.Extensions.Configuration.Json": "1.1.0",
"Microsoft.Extensions.Logging": "1.1.0",
"Microsoft.Extensions.Logging.Console": "1.1.0",
"Microsoft.Extensions.Logging.Debug": "1.1.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.1.0"
},
"tools": {
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
},
"frameworks": {
"net452": {
"dependencies": {
"Aristotle.Service": {
"target": "project"
},
"Infrastructure": {
"target": "project"
}
}
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"publishOptions": {
"include": [
"wwwroot",
"**/*.cshtml",
"appsettings.json",
"web.config"
]
},
"scripts": {
"prepublish": [ "bower install", "dotnet bundle" ],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
}
}
Run Code Online (Sandbox Code Playgroud)
我已经使用NuGet将所有软件包更新到最新版本......
pad*_*gan 20
我终于解决了这个问题,但不知道为什么修复工作或为什么它首先停止工作但是......
在_ViewImports中的行是: -
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
Run Code Online (Sandbox Code Playgroud)
我改为包括引号: -
@addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
Run Code Online (Sandbox Code Playgroud)
然后我做了重建并再次工作!?!所有'asp-'属性现在也都像以前一样突出显示.为什么?!?嗯?!?
更奇怪的是,如果我删除引号并重建,它仍然有效!好吧,至少在我的同事从源代码控制中获取文件之前,他们必须将引号放回去!
想出一个......
May*_*ime 12
对于遇到相同问题的任何人,请检查的位置,该位置_ViewImports.cshtml必须位于视图的同一文件夹中。例如,我创建了一个项目,该项目的_ViewImports.cshtml文件Pages夹中已经有文件,但是我创建并使用了位于另一个文件夹中的视图文件,因此ASP.NET找不到_ViewImports.cshtml我们的视图。
如果有人在寻找project.json时遇到问题,则可以右键单击该项目,然后选择Manage Nuget Packages,然后安装Microsoft.AspNetCore.Mvc.TagHelpers。
希望这些建议能对大家有所帮助。
对于那些在 Razor 类库 (RCL) 中使用 ViewComponent 的人,除了其他一些发布的建议之外,还进行了 3 个额外的调整,解决了我无法访问的标记帮助程序的问题:
@addTagHelper *, <DLL NAME>- 不一定是命名空间名称在您的project.json依赖项中,您缺少TagHelpers。请在 project.json 的依赖项部分添加以下行 -
"Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1",
Run Code Online (Sandbox Code Playgroud)
在保存Project.json时,VS2015会自动恢复包。
如果它不起作用,请右键单击项目,然后单击“恢复包”选项。
如果这不起作用,请尝试使用 dotnet Restore CLI 命令进行恢复。
| 归档时间: |
|
| 查看次数: |
9860 次 |
| 最近记录: |