理由はまだわかりませんが、結局、VS 2010 の組み込みメソッド「Web Deploy」はうまくいきませんでした。私はあきらめて、アプリケーションを構築し、すべての関連データを IIS にコピーする独自のデプロイ バッチ スクリプトを作成しました。
同じ問題を抱えているすべての人のために、このバッチ スクリプトをここに公開したいと思います。このスクリプトを使用する前に、次の点に注意してください。
1.) Silverlight Web プロジェクトで参照されているすべての DLL に Local Copy = True を設定します。
2.) WCF RIA サービスごとに個別の *.svc ファイルが必要です。svc ファイルには、完全なサービスの名前空間と名前、およびサービスのインスタンス化に使用されるファクトリ クラスを含める必要があります。ファイルの内容は次のようになります。
<%@ServiceHost language="C#" Debug="true" Service="Fullnamespace.Servicename" Factory="System.ServiceModel.DomainServices.Hosting.DomainServiceHostFactory"%>
私の場合、すべての svc ファイルは ClientBin フォルダーにあります。自分で作成し、Local Copy = True に設定する必要があることに注意してください。また、SL クライアントで正しい svc ファイルを呼び出す必要があることにも注意してください。
それは次のようになります。
LoginContext _loginContext = new LoginContext(Globals.URI.getServiceUri("http://yourdomain/ClientBin/YourService.svc"));
LoadOperation<ServiceLog> _loadOperation = _loginContext.Load<ServiceLog>(_loginContext.LogInQuery(user.EMail, user.Passwort), LoginCallBack, true);
3.次のバッチ スクリプトは、アプリケーションをビルドします。次に、ファイルを IIS にコピーします。問題をデバッグするために、pdb ファイルは xap ファイルに含まれています。バッチ内のすべてのパスが私のシステムに関連していることに注意してください。あなたは確かにそれらを変更する必要があります。おそらく、これをインスピレーションとして、独自のスクリプトを作成することになるでしょう。
このスクリプトには細心の注意を払い、バッチ言語に慣れていない場合は使用しないでください。ハードドライブ上のフォルダを削除して作成します。自己責任
SET DestPath=D:\Sources Internet\www.MyDomain.de\%2
SET DevelopmentPath=D:\Sources\MyDomain\MyDomain.Web\%3
RD /S /Q "%DestPath%"
MKDIR "%DestPath%"
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe" "D:\Sources\MyDomain\MyDomain\MyDomain.sln" /p:Configuration=Debug;DeployOnBuild=true;DeployTarget=Package;_PackageTempDir="D:\Sources Internet\www.MyDomain.de"
DEL "%DestPath%\Web.config" /s /q
COPY "%DevelopmentPath%\Web.config" "%DestPath%\Web.config"
COPY "D:\Sources\MyDomain\MyDomain\Bin\Debug\MyDomain.pdb" "D:\Sources Internet\www.MyDomain.de\ClientBin\MyDomain.pdb"
CD /D D:\Sources Internet\www.MyDomain.de\ClientBin
REN *.xap *.rar
SET WINRAR="C:\Program Files\WinRAR"
%WINRAR%\WinRAR.exe a MyDomain MyDomain.pdb
DEL MyDomain.pdb
REN *.rar *.xap
COPY "D:\Sources Internet\www.MyDomain.de\ClientBin\MyDomain.xap" "D:\Sources Internet\www.MyDomain.de\bin\MyDomain.xap"
このスクリプトには細心の注意を払い、バッチ言語に慣れていない場合は使用しないでください。ハードドライブ上のフォルダを削除して作成します。自己責任
この方法を使用すると、VS 2010 の Web デプロイは不要になり、IIS 7.5 で SL アプリケーションを実行およびデバッグすることもできます。