次の設定を使用して、Visual Web Developer Express 2010 を使用して、FTP 経由でリモート サーバーにプリコンパイルされた Web サイトを公開したいと考えています。
- このアプリケーションの実行に必要なファイルのみをデプロイする
- 公開前にこのアプリケーションをプリコンパイルする
- ウェブサイトの更新を許可する
- デプロイされているデータベースはありません
- サイトは、.zip パッケージとしてではなく、ファイル階層として展開されています
最初のビルド/デプロイはうまくいったように見えましたが、2 回目のコンパイル後に次のエラーが表示されます。
Transformed web.config using C:\path_to_site\Web.Debug.config into obj\Debug\TransformWebConfig\transformed\web.config.
Copying all files to temporary location below for package/publish:
obj\Debug\AspnetCompileMerge\Source.
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.5\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets(132,5): Error : Can't find the valid AspnetMergePath
Microsoft.Web.Publishing.AspNetConfigurationMerge.targets ファイルのコンテンツのサブセットを次に示します。
<Target
Name="GetAspNetMergePath"
DependsOnTargets="$(GetAspNetMergePathDependsOn)"
Condition ="'$(GetAspNetMergePath)' != 'false'">
<PropertyGroup>
<AspnetMergeName>aspnet_merge.exe</AspnetMergeName>
<AspnetMergePath Condition="Exists('$(TargetFrameworkSDKToolsDirectory)$(AspnetMergeName)')">$(TargetFrameworkSDKToolsDirectory)</AspnetMergePath>
</PropertyGroup>
<Error Condition="'$(AspnetMergePath)' == '' Or !Exists($(AspnetMergePath))"
Text="Can't find the valid AspnetMergePath" />
</Target>
編集:発行設定を変更して、発行前に既存のファイルをすべて削除しても、結局問題は解決しません。このため、問題は今のところローカルにあると想定しています。
web.config に AspMergePath タグがないようです。タグを手動で追加する必要があるかどうかはわかりません。ただし、パス「obj{発行設定}\AspnetCompileMerge\Source」は私のプロジェクトに存在します。
念のために言うと、私のプロジェクト名は「TestProject.NET」です
フィードバックをお待ちしております。