原先的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成功......


原因不是很明确, 待后面有时间找找具体的原因, 先记录下来.


希望对看到的朋友有帮助.