私のCMSが正しく機能するには、wwwルートの下の仮想ディレクトリにデプロイして、管理するWebサイトに(リフレクションを介して)アクセスできるようにする必要があります(注:CMS = N2CMS)。Visual Studioの「Webに公開」を使用する場合は、すべて問題ありません。しかし、msbuildコマンドラインを介してパッケージを生成し、そのバージョンを公開すると、仮想ディレクトリが仮想アプリケーションに変換されます。
IIS Webアプリケーション(「exampleapp」)の下に仮想ディレクトリ「/ n2」を持つようにリモートサーバーを構成し、このパスをパッケージ/公開Web設定(宛先サーバーで使用するIIS Webサイト/アプリケーション名)で構成しました。 VisualStudioのプロジェクト。
デプロイパッケージを生成するには:
msbuild.exe myproject.csproj /T:Package
これにより、実行するMsDeployコマンドラインバッチファイル(標準のmsbuild / msdeployターゲット)とともにコードのzipパッケージが生成されます。
生成されたSetParameters.xmlには、次のものが含まれています。
<?xml version="1.0" encoding="utf-8"?>
<parameters>
<setParameter name="IIS Web Application Name" value="exampleapp/n2" />
</parameters>
生成されたSourceManifest.xmlには、次のものが含まれています
<?xml version="1.0" encoding="utf-8"?>
<sitemanifest>
<IisApp path="C:\...shortened-path...\PackageTmp" managedRuntimeVersion="v4.0" />
<setAcl path="C:\...shortened-path...\PackageTmp" setAclResourceType="Directory" />
<setAcl path="C:\...shortened-path...\PackageTmp" setAclUser="anonymousAuthenticationUser" setAclResourceType="Directory" />
</sitemanifest>
仮想ディレクトリが仮想アプリケーションに変換される理由を誰かが手がかりを得ましたか?