2013-01-22 5 views
2

내 ASP.NET MVC 응용 프로그램의 ASP.NET 사전 컴파일이 AppHarbor에 배포 될 때 실패합니다. 표면 상 존재하지 않는 형식이 면도기 뷰에서 참조되기 때문에 표면 상 가능합니다. 이것은 올바를 수도 있지만, 어떤 파일에 오류가 있습니까?내 ASP.NET MVC 앱의 ASP.NET 사전 컴파일이 AppHarbor에서 실패합니다. 오류는 어디에서 발생합니까?

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 

답변

0

Visual Studio에서보기 편집을 사용하도록 설정 했습니까? 당신은 당신이 프로젝트 내부 .csproj 파일에 IDE에 true로

변경 MvcBuildViews을 오류를 디버깅 할 수 있음을 사용하는 경우 -> propertygroup

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
<PropertyGroup> 
    <MvcBuildViews>true</MvcBuildViews> 
</PropertyGroup> 

Compile Views in ASP.NET MVC

0

이 옛 수도 있지만 도움이 될 수 있습니다 다른 사람이 이런 종류의 로그를 읽는 방법을 알고 미래에 오류를 찾을 위치를 지정합니다.

오류 로그의 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?) 

오류가 발생한 이유 를 알 수있는 충분한 정보가 있습니다.

여기서 줄에 d:\temp\0kxqxggv.qii\temp\root\aecd3928\90d8ef26\App_Web_24m5b001.0.cs에있는 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?)

당신이 User 변경 될 수 있습니다 조명 소스 컨트롤을 사용 appharbor을 배포하는 경우 이 오류의 원인이 된 커밋 변경 내용을 포함하는 것을 잊었습니다. 적어도 그것은 내게 달라 붙은 것입니다.