MSDEPLOY -.NET V4.5パッケージをV4.0アプリケーションプールに展開できません

StackOverflow https://stackoverflow.com/questions/19834307

質問

TeamCityをあるサーバーから別のサーバーに移行し、Visual Studio 2013に切り替えた後、MSDEPLOYを使用してTC製造.ZIPパッケージをIISにプッシュするとビルドが失敗します。

使用しようとしているアプリケーションプールには、「v4.0」に設定された「managedruntimeversion」プロパティがあります。このアプリケーションには「v4.5」が必要です

私のIISサーバーには.NET 4.5がインストールされており、喜んで実行され、数週間展開されているため、これは奇妙なエラーです。4.0アプリケーションプールは4.5ターゲットアプリを実行します。

残念ながら、水はTCとVS(2013)の変化によって泥だらけになっているので、私が確信できない問題を引き起こしたものです。

注:私たちのTCサーバーには、Visual Studio 2012しかありません。私はMSDNに参加しており、2013年に早期にアクセスできたため、これは犯人になる可能性がありますが、問題はそれほど奇妙ではありません。

役に立ちましたか?

解決

私は無効にする.NETランタイムバージョンのチェックをまったく望んでいません(無視されたPloyManagedRuntimeversionを使用して)が、代わりにDeployManagedRuntimeVersionを介して暗黙のセットランタイムバージョンを設定します。

<DeployManagedRuntimeVersion>v4.0</DeployManagedRuntimeVersion>

さらに詳細: http://techblog.dorogin.com/2013/11/deploying-45-projects-with-webdeploy.html

他のヒント

あなたを開きます .csproj 次の要素をファイルして設定します。

<IgnoreDeployManagedRuntimeVersion>True</IgnoreDeployManagedRuntimeVersion>

この要素のすぐ上に追加すると、読みやすさが役立ちます。

<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>

称賛 https://stackoverflow.com/users/1769923/abhishikt-n-jain このあまり知られていない構成設定で回答するには、こちら:

.NET 4.5にアップグレードした後、MSBUILDデプロイが失敗します

誰かが知っているなら どうして これが起こります、答えを自由に追加してください。

アップデート

以下の私のコメントを無視してください。展開を過ぎてしまいましたが、 503 Service Unavailable 実際にWebアプリを実行しようとしたとき。設定してこの変更をバックアウトしました managedRuntimeVersion プロパティはv4.0に戻り、追加しました IgnoreDeployManagedRuntimeVersion 私のプロジェクトに。その後、展開が成功し、アプリが機能しました。バカ...


これは、Windows Server 2008 R2 SP1マシンに.NETフレームワーク4.5.1をインストールした後に起こりました(PowerShellのアップグレードの一部として)。

Windows Server 2008のIISユーザーインターフェイスは、 managedRuntimeVersion そのバージョンがインストールされた後でも、v4.5へのプロパティ。ただし、これは次のようにコマンドラインで実行できます appcmd @3boysdadの回答としてのユーティリティが表示されます。

appcmd IISサイト、アプリ、アプリプールなどの管理に相当するコマンドラインです。 %systemroot%\system32\inetsrv\appcmd.exe しかし、次のリンクが説明しているように、それは道にありません。

http://www.iis.net/learn/get-started/getting-started-with-iis/getting-with-appcmdexe#howtouse

私はあなたのプロジェクトを変更しているという意見です(経由で IgnoreDeployManagedRuntimeVersion また DeployManagedRuntimeVersion プロパティ)は最適です。アプリケーションプールはv4.5を使用するように設定する必要があり、Windows Server 2008でそれを行う唯一の方法は、 appcmd 効用。 @3boysdadの答えは、受け入れられた答えである必要があります。

この同じ問題のために狩りをしながら、この宝石を見つけました。

appcmd set apppool /apppool.name: <your app pool> /managedRuntimeVersion:v4.5

これは、 system32 inetsrvディレクトリで実行する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top