错误ASPPARSE:无法加载类型

时间:2010-11-21 12:35:19

标签: asp.net

如果我在我的系统上运行此命令

<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

任何帮助都非常有用。

3 个答案:

答案 0 :(得分:0)

你试过了吗?

  • 检查参考资料
  • 做一个干净的构建
  • 根据
  • 后面的代码检查HTML中的继承attr
  • 在IIS中为此网站创建新的应用程序池?

我看到了类似的问题。从VS2008内部本地工作,但一旦发布并部署到服务器,我得到的错误与此处描述的相同。

我提供的任何建议都不适合我;也许他们会为你工作。

答案 1 :(得分:0)

我有同样的错误。当我在ILDASM中打开网站DLL时,控件的类型完全丢失,好像它甚至没有被编译。

事实证明,代码隐藏文件已从项目中排除。考虑到我的机器上的构建成功,这很奇怪!无论如何,我仔细地重新包含了代码隐藏文件,这一切都开始起作用了。

答案 2 :(得分:0)

这通常是因为项目文件(.csproj或.vbproj)不包含对相关文件的必要引用。尝试清理/重建所有项目,并确保将最新的项目文件移动到服务器上。

另一种可能性是文件实际上并未包含在您的项目中。这允许Visual Studio中的构建运行得很好,但是在编译.NET代码(例如使用aspnet_compiler)时将会中断,因为所有.aspx / .ascx / etc。编译指定文件夹中的文件 - 无论它们是否包含在您的项目中。