17

Visual Studio 2012 を使用して Web アプリケーションを公開しようとすると、次のエラーが表示されます。

Error   1   It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.  This error can be caused by a virtual directory not being configured as an application in IIS.  E:\Temp\BUILD\Debug\AspnetCompileMerge\Source\bin\web.config    24  0   Pixelate

出力ウィンドウの内容は次のとおりです。

1>------ Build started: Project: Pixelate, Configuration: Debug Any CPU ------
1>  No way to resolve conflict between "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes" and "System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e". Choosing "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=969db8053d3322ac, Retargetable=Yes" arbitrarily.
1>  No way to resolve conflict between "System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" and "System.ServiceModel.Web, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e". Choosing "System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" arbitrarily.
1>  Pixelate -> [...]\bin\TwistedPixel.Pixelate.dll
1>  '[...]\bin'
1>  CMD.EXE was started with the above path as the current directory.
1>  UNC paths are not supported.  Defaulting to Windows directory.
2>------ Publish started: Project: Pixelate, Configuration: Debug Any CPU ------
2>Connecting to [...]...
2>Transformed Web.config using [...]\Web.Debug.config into E:\Temp\BUILD\Debug\TransformWebConfig\transformed\Web.config.
2>Transformed[...]\Web.config using [...]\bin\Web.Debug.config into E:\Temp\BUILD\Debug\TransformWebConfig\transformed\bin\Web.config.
2>Copying all files to temporary location below for package/publish:
2>E:\Temp\BUILD\Debug\AspnetCompileMerge\Source.
2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v / -p E:\Temp\BUILD\Debug\AspnetCompileMerge\Source -c -d E:\Temp\BUILD\Debug\AspnetCompileMerge\TempBuildDir 
2>E:\Temp\BUILD\Debug\AspnetCompileMerge\Source\bin\web.config(24,0): Error ASPCONFIG: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.  This error can be caused by a virtual directory not being configured as an application in IIS.
2>
========== Build: 1 succeeded, 0 failed, 2 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========

これがなぜ起こっているのか、そしてそれを修正する方法について誰かが光を当てることができれば、それは素晴らしいことです.

クリーニングと再構築を試みました(正常に再構築されます)bin、objを削除しようとし、一時出力ディレクトリを移動しましたが、それでもエラーは解決しません。

4

5 に答える 5

28

web.configこれは、パブリッシュ プロセスによって作成されるエクストラの問題です。のタブにカーソルを合わせるweb.configと、余分なファイルの場所が表示され、削除できます。構成が異なる可能性もありますが、それでもエラーがスローされます (例: Debug vs. Release) おそらく<app>\obj\Release\Package\PackageTmp\web.config.

それを削除すると、準備完了です。ただし、後のパブリッシュで再発する可能性があります。

于 2012-11-06T15:33:17.840 に答える
0

web.config の設定の 1 つに問題があります。このエラーにより、場所がわかる場合があります。

于 2012-10-19T08:40:08.893 に答える