2009-07-08 6 views
2

Lorsque vous compilez mon projet de déploiement Web qui fait référence à un projet Asp.Net avec un dossier App_Browsers je reçois l'erreur de compilation suivante:aspnet_compiler échoue lorsque vous utilisez dossier App_Browsers avec le Web Déploiement du projet

C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_compiler.exe -v /[PROJECTNAME].csproj -p "[FILEPATH]" -u -f -d. \ TempBuildDir \ ASPNETCOMPILER: erreur ASPRUNTIME: Référence d'objet non définie sur une instance d'un objet .

Si je supprime le dossier App_Browsers tout fonctionne parfaitement.

Toute aide serait appréciée.

Répondre

1

Ok, enfin trouvé une solution.

Comme indiqué le compilateur aspnet se bloque lors de l'inclusion du dossier App_Browsers. Donc, pour éviter cela, j'ai exclu le dossier de la construction et mis dans une action "après construction" qui copie le dossier à la destination. Cela se fait en ajoutant les lignes de code suivantes dans le fichier de projet de déploiement:

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

it helps autres, coincé avec le même problème.

0

Consultez cette page: http://mdbf.codeplex.com/Thread/View.aspx?ThreadId=67453

Active cette erreur se produit lorsque le fichier mobile.browser est placé dans le dossier racine App_Browsers, donc il suffit de faire un sous-répertoire pour elle, soit au lieu de

App_Browsers 
    -> mobile.browser 

utiliser ceci:

App_Browsers 
    -> Mobile 
     -> mobile.browser 
Questions connexes