在 Web 部署项目中使用 App_Browsers 文件夹时,aspnet_compiler 失败

发布于 2024-07-26 06:00:04 字数 312 浏览 7 评论 0原文

编译引用带有 App_Browsers 文件夹的 Asp.Net 项目的 Web 部署项目时,出现以下编译错误:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe -v /[PROJECTNAME].csproj -p“[文件路径]”-u -f -d .\TempBuildDir\ ASPNETCOMPILER:错误 ASPRUNTIME:未将对象引用设置为对象的实例。

如果我删除 App_Browsers 文件夹,一切都会正常工作。

任何帮助,将不胜感激。

When Compiling my Web Deployment Project which references a Asp.Net project with a App_Browsers folder I get the following compilation error:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe -v /[PROJECTNAME].csproj -p "[FILEPATH]" -u -f -d .\TempBuildDir\
ASPNETCOMPILER : error ASPRUNTIME: Object reference not set to an instance of an object.

If I remove the App_Browsers folder everything works perfectly.

Any help would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

○愚か者の日 2024-08-02 06:00:04

好吧,终于找到解决办法了。

如前所述,当包含 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>

希望它可以帮助遇到同样问题的其他人。

Ok, finally found a solution.

As stated the aspnet compiler crashes when including the App_Browsers folder. So to avoid that, I have excluded the folder from the build and put in an "after build" action which copies the folder to the destination. This is done by adding the following lines of code to the deployment project file:

  <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>

Hope it helps others, stuck with the same problem.

吃不饱 2024-08-02 06:00:04

查看此页面: http://mdbf.codeplex.com/Thread/View .aspx?ThreadId=67453

事实证明,当 mobile.browser 文件放置在 App_Browsers 根文件夹中时,就会出现此错误,因此只需为其创建一个子目录,即而不是

App_Browsers
    -> mobile.browser

使用以下内容:

App_Browsers
    -> Mobile
        -> mobile.browser

Check out this page: http://mdbf.codeplex.com/Thread/View.aspx?ThreadId=67453

Turns out this error occurs when the mobile.browser file is placed in the App_Browsers root folder, so just make a sub directory for it, i.e. instead of

App_Browsers
    -> mobile.browser

use this:

App_Browsers
    -> Mobile
        -> mobile.browser
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文