原先的ASP.NET 转换为 Web Deploy 项目后, 将所有的.CS文件打成一个包, 页面aspx文件保留,
项目开发人员拿到之后, 进行build, 开发没有问题, 但是publish WebSite的时候, 会出错.
错误:
Publication (web): 未将对象引用设置到对象的实例。
没有任何其他相关信息 ,
打开aspnet_compiler.exe 的errorstack 选项后, 发现报错堆栈:
error ASPRUNTIME: 未将对象引用设置到对象的实例。
[NullReferenceException]: 未将对象引用设置到对象的实例。
在 System.Web.Compilation.BuildManager.CopyPrecompiledFile(VirtualFile vfile, String destPhysicalPath)
在 System.Web.Compilation.BuildManager.CopyStaticFilesRecursive(VirtualDirectory sourceVdir, String destPhysicalDir,
Boolean topLevel)
在 System.Web.Compilation.BuildManager.CopyStaticFilesRecursive(VirtualDirectory sourceVdir, String destPhysicalDir,
Boolean topLevel)
在 System.Web.Compilation.BuildManager.PrecompileAppInternal(VirtualPath startingVirtualDir)
在 System.Web.Compilation.BuildManager.PrecompileApp(VirtualPath startingVirtualDir)
在 System.Web.Compilation.BuildManager.PrecompileApp(ClientBuildManagerCallback callback)
在 System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManagerCallback callback)
在 System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManagerCallback callback)
在 System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuildManagerCallback callback, Boolean forc
CleanBuild)
在 System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuildManagerCallback callback)
怀疑是不是那个需要的文件没有找到?
尝试将aspx移掉一些, 没用, 依旧报错...
后面发现bin下面的__browserCapabilitiesCompiler.compiled
(因为项目中有APP_Browser)
然后将其删除后, 项目publish成功......
原因不是很明确, 待后面有时间找找具体的原因, 先记录下来.
希望对看到的朋友有帮助.