编译使用App_Browsers文件夹引用Asp.Net项目的Web部署项目时,出现以下编译错误:
C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_compiler.exe -v /[PROJECTNAME].csproj -p“[FILEPATH]” - u -f -d。\ TempBuildDir \ ASPNETCOMPILER:错误ASPRUNTIME:对象引用未设置为对象的实例。
如果删除App_Browsers文件夹,一切都会完美无缺。
任何帮助都将不胜感激。
答案 0 :(得分:1)
好的,终于找到了解决方案。
如前所述,当包含App_Browsers文件夹时,aspnet编译器崩溃。因此,为了避免这种情况,我从构建中排除了该文件夹,并进行了“后构建”操作,该操作将文件夹复制到目标。这是通过将以下代码行添加到部署项目文件来完成的:
<ItemGroup>
<ExcludeFromBuild Include="$(SourceWebPhysicalPath)\App_Browsers\**\*.*"/>
<MySourceFiles Include="$(SourceWebPhysicalPath)\App_Browsers\**\*.*"/>
</ItemGroup>
<Target Name="AfterBuild">
<MakeDir Directories="$(OutputPath)\App_Browsers"></MakeDir>
<Copy SourceFiles="@(MySourceFiles)"
DestinationFiles="@(MySourceFiles->'$(OutputPath)\App_Browsers\%(RecursiveDir)%(Filename)%(Extension)')">
</Copy>
</Target>
希望它可以帮助其他人,坚持同样的问题。
答案 1 :(得分:0)
查看此页面:http://mdbf.codeplex.com/Thread/View.aspx?ThreadId=67453
当mobile.browser文件放在App_Browsers根文件夹中时,会发生此错误,因此只需为其创建一个子目录,即代替
App_Browsers
-> mobile.browser
使用它:
App_Browsers
-> Mobile
-> mobile.browser