ASP.NET прекомпиляция моего приложения ASP.NET MVC завершается неудачно в AppHarbor, где ошибка?
Прекомпиляция ASP.NET моего приложения ASP.NET MVC завершается неудачно, когда оно развертывается в AppHarbor, якобы из-за того, что в представлении Razor упоминается несуществующий тип. Это может быть правильно, но в каком файле ошибка!?
Microsoft (R) ASP.NET Compilation Tool version 4.0.30319.17929
Utility to precompile an ASP.NET application
Copyright (C) Microsoft Corporation. All rights reserved.
d:\temp\0kxqxggv.qii\temp\root\aecd3928\90d8ef26\App_Web_24m5b001.0.cs(36): error CS0234: The type or namespace name 'User' does not exist in the namespace 'MyApp.Models' (are you missing an assembly reference?)
[HttpCompileException]: d:\temp\0kxqxggv.qii\temp\root\aecd3928\90d8ef26\App_Web_24m5b001.0.cs(36): error CS0234: The type or namespace name 'User' does not exist in the namespace 'MyApp.Models' (are you missing an assembly reference?)
at System.Web.Compilation.AssemblyBuilder.Compile()
at System.Web.Compilation.WebDirectoryBatchCompiler.CompileAssemblyBuilder(AssemblyBuilder builder)
at System.Web.Compilation.WebDirectoryBatchCompiler.<CompileNonDependentBuildProviders>b__0(AssemblyBuilder assemblyBuilder)
at System.Web.Compilation.CompilationUtil.CompileParallel(ICollection assemblyBuilders, Action`1 action)
at System.Web.Compilation.WebDirectoryBatchCompiler.CompileNonDependentBuildProviders(ICollection buildProviders)
at System.Web.Compilation.WebDirectoryBatchCompiler.Process()
at System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors)
at System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors)
at System.Web.Compilation.BuildManager.PrecompileWebDirectoriesRecursive(VirtualDirectory vdir, Boolean topLevel)
at System.Web.Compilation.BuildManager.PrecompileWebDirectoriesRecursive(VirtualDirectory vdir, Boolean topLevel)
at System.Web.Compilation.BuildManager.PrecompileWebDirectoriesRecursive(VirtualDirectory vdir, Boolean topLevel)
at System.Web.Compilation.BuildManager.PrecompileAppInternal(VirtualPath startingVirtualDir, IEnumerable`1 excludedVirtualPaths)
at System.Web.Compilation.BuildManager.PrecompileApp(VirtualPath startingVirtualDir, IEnumerable`1 excludedVirtualPaths)
at System.Web.Compilation.BuildManager.PrecompileApp(ClientBuildManagerCallback callback, IEnumerable`1 excludedVirtualPaths)
at System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManagerCallback callback, List`1 excludedVirtualPaths)
at System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManagerCallback callback, List`1 excludedVirtualPaths)
at System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuildManagerCallback callback, Boolean forceCleanBuild)
at System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuildManagerCallback callback)
at System.Web.Compilation.Precompiler.Main(String[] args)
Website precompilation failed with exit code 1. Precompilation can optionally be disabled in application settings
2 ответа
Это может быть старым, но это может помочь кому-то еще знать, как читать этот вид журнала и где искать ошибку в будущем.
Как это на 4-й строке в журнале ошибок.
d:\temp\0kxqxggv.qii\temp\root\aecd3928\90d8ef26\App_Web_24m5b001.0.cs(36): error CS0234: The type or namespace name 'User' does not exist in the namespace 'MyApp.Models' (are you missing an assembly reference?)
Достаточно информации, чтобы знать, где и почему произошла ошибка.
Где: На этом файле с именем App_Web_24m5b001.0.cs
расположен в d:\temp\0kxqxggv.qii\temp\root\aecd3928\90d8ef26\App_Web_24m5b001.0.cs
онлайн (36)
Зачем: The type or namespace name 'User' does not exist in the namespace 'MyApp.Models' (are you missing an assembly reference?)
Примечание. Если вы развертываете на appharbor с использованием системы контроля версий, возможно, вы изменили User
и забыл включить изменения в коммит, которые вызвали эту ошибку. По крайней мере, это то, что случилось со мной.
Вы пытались включить компиляцию представления на Visual Studio? Если вы включите это, вы можете отладить ошибку на вашем идеале
измените MvcBuildViews на true в файле.csproj внутри проекта -> группа свойств
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MvcBuildViews>true</MvcBuildViews>
</PropertyGroup>