2016-08-25 6 views
0

私はIIS管理者ではなく、Umbracoユーザーではなく.NET開発者ですが、Umbraco 6 - GET/bundles/bundlename 404

私たちには、別の代理店から当社に移行されたUmbracoアプリケーションがあります。 Azure、WebAppで動作します。

問題は次のとおりです。開発者チームは新しいロケールを追加しましたが、私たちの環境では動作させることはできません(ただし、開発者のワークステーションではローカルで動作します)。また、古いロケールもすべて正常に動作します(下の例ではFR)。

は、私たちは、ロケールバンドルは./App_Start/BundleConfig.csに追加しました:

... 
var fr_fr = new ScriptBundle("~/bundles/script_fr_fr"); 
var pl_pl = new ScriptBundle("~/bundles/script_pl_pl"); 
... 
SetCommonIncludes(pl_pl); 
pl_pl.Include(
    "~/client/scripts/ui/dialog/AgeGateDialog_pl_pl.js" 
); 
... 
bundles.Add(fr_fr); 
bundles.Add(pl_pl); 
bundles.Add(standAloneiFramePage); 
... 

しかし、アプリケーションのビルド後(msbuildで)及び(msdeployで)展開 - fr_FRの章の作品を、pl_plをしながら、 - 404エラーになります:

> Request 
> URL:http://applicationstaging2.azurewebsites.net/bundles/script_pl_pl 
> Request Method:GET Status Code:404 Not Found 

私たちは、と私たちweb.configファイルにumbracoReservedPathsを持っています:私はグーグルリンクから理解されるように

... 
<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/api,~/Content,~/Controllers,~/Views,~/Areas,~/radio,~/bundles,~/bundles/" /> 
... 

- 「バンドル」GET要求後のアプリケーション受け入れ.NETで作成されたメモリベースのオブジェクト(4.5以降)です。次に、アプリケーションはJS/CSS/etcデータを含むこのオブジェクトを "生成"し、メモリに格納し、パス~/bundles/scriptnameで返さなければなりません。私。 - ファイルシステムオブジェクトではないので、サーバ上のファイルを直接チェックすることはできません(そして、これは通常のLinuxボックスではありません)。

私は混乱しています - これを解決する方法についてはどこに調査を開始しませんか。または少なくとも - それをデバッグする方法(Azureの "アプリケーション"と "Webサーバー"のログ - 絶対に役に立たないもの)。

ヒントありがとうございます。

答えて

0

私たちの問題は、Binディレクトリのdllファイルがビルド中に更新されなかったためです。

当社build.batスクリプトは:

... 
echo [%ME%] Running NuGet restore 

%NUGET% restore %SOLUTION% 
if %errorlevel% neq 0 exit /b %errorlevel% 

echo [%ME%] Running MSBuild 

%MSBUILD% %SOLUTION% 
if %errorlevel% neq 0 exit /b %errorlevel% 
... 

/t:Clean,Build

%MSBUILD% %SOLUTION%ライン固定問題の最後に追加:私が作った更新された第2

... 
%MSBUILD% %SOLUTION% /t:Clean,Build 
if %errorlevel% neq 0 exit /b %errorlevel% 
... 

からdeploy.batスクリプトでは、-verb:deleteを追加しました:

... 
echo [%ME%] Cleaning up application 
%MSDEPLOY% -enableRule:AppOffline -verb:delete -dest:contentPath='%CONTENTPATH%',ComputerName="%COMPUTERNAME%/msdeploy.axd?site=%SITE%",UserName='%USERNAME%',Password='%PASSWORD%',AuthType="Basic" 
... 

正確な展開前:

... 
echo [%ME%] Deploying new application 
%MSDEPLOY% -enableRule:AppOffline -verb:sync -source:contentPath="%cd%\server\JaegermeisterPlatform_Soln\%SITENAME%" -dest:contentPath='%CONTENTPATH%',ComputerName="%COMPUTERNAME%/msdeploy.axd?site=%SITE%",UserName='%USERNAME%',Password='%PASSWORD%',AuthType="Basic" -setParamFile=%PROPERTYFILE% 
...