如果我在我的系统上运行此命令
<Exec Command="C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler -v localhost -p $(SourceDir)\wwwroot -u -f projectCompileCode\project -c -errorstack -nologo" />
我收到以下错误:
错误ASPParse:无法加载类型:Projectname:SomeFile。
该项目是Web应用程序项目
这是我的堆栈跟踪:
[HttpException]:无法加载类型'ProjectName.FileName'。 在System.Web.UI.TemplateParser.GetType(String typeName,Boolean ignoreCa e,Boolean throwOnError) 在System.Web.UI.TemplateParser.ProcessInheritsAttribute(String baseTypeN me,String codeFileBaseTypeName,String src,Assembly assembly) 在System.Web.UI.TemplateParser.PostProcessMainDirectiveAttributes(IDicti) nary parseData)
[HttpParseException]:无法加载类型''ProjectName.FileName。 在System.Web.UI.TemplateParser.ParseString(String text,VirtualPath virt alPath,编码fileEncoding) 在System.Web.UI.TemplateParser.ParseReader(StreamReader reader,VirtualP th virtualPath) 在System.Web.UI.TemplateParser.ParseFile(String physicalPath,VirtualPat virtualPath) 在System.Web.UI.TemplateParser.ParseInternal() 在System.Web.UI.TemplateParser.Parse() 在System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType( 在System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider( uildProvider buildProvider) 在System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() 在System.Web.Compilation.BuildProvidersCompiler.PerformBuild() 在System.Web.Compilation.ApplicationBuildProvider.GetGlobalAsaxBuildResu t(Boolean isPrecompiledApp) 在System.Web.Compilation.BuildManager.CompileGlobalAsax() 在System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() 在System.Web.Compilation.BuildManager.PrecompileAppInternal(VirtualPath tartingVirtualDir) 在System.Web.Compilation.BuildManager.PrecompileApp(VirtualPath启动 irtualDir) 在System.Web.Compilation.BuildManager.PrecompileApp(ClientBuildManagerCa lback回调) 在System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManag rCallback回调) 在System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManag rCallback回调) 在System.Web.Compilation.ClientBuildManager.PrecompileApplication(客户端 uildManagerCallback回调,Boolean forceCleanBuild) 在System.Web.Compilation.ClientBuildManager.PrecompileApplication(客户端 uildManagerCallback回调) 在System.Web.Compilation.Precompiler.Main(String [] args)
如果我在v2.0.50727中构建,那么它仍然会给出相同的错误。
我的应用程序内置于VS 2010,.net框架asp.net框架工作4
任何帮助都非常有用。
答案 0 :(得分:0)
你试过了吗?
我看到了类似的问题。从VS2008内部本地工作,但一旦发布并部署到服务器,我得到的错误与此处描述的相同。
我提供的任何建议都不适合我;也许他们会为你工作。
答案 1 :(得分:0)
我有同样的错误。当我在ILDASM中打开网站DLL时,控件的类型完全丢失,好像它甚至没有被编译。
事实证明,代码隐藏文件已从项目中排除。考虑到我的机器上的构建成功,这很奇怪!无论如何,我仔细地重新包含了代码隐藏文件,这一切都开始起作用了。
答案 2 :(得分:0)
这通常是因为项目文件(.csproj或.vbproj)不包含对相关文件的必要引用。尝试清理/重建所有项目,并确保将最新的项目文件移动到服务器上。
另一种可能性是文件实际上并未包含在您的项目中。这允许Visual Studio中的构建运行得很好,但是在编译.NET代码(例如使用aspnet_compiler)时将会中断,因为所有.aspx / .ascx / etc。编译指定文件夹中的文件 - 无论它们是否包含在您的项目中。