2

ライトスイッチ アプリを Visual Studio 以外のパッケージに公開する際に問題が発生しています。

おそらく間違ったコマンドを使用していると思いますが、使用すべきコマンドに関する情報が見つかりません。

私のコマンドは次のようになります。 MSBuild "Path To My Sln.sln" /p:VisualStudioVersion=12.0;DeployOnBuild=true;PublishProfile=Release;Configuration=Release

次のエラーが表示されます。

    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web
    .Publishing.targets(3899,5): msdeploy error ERROR_EXCEPTION_WHILE_CREATING_OBJECT: 
    Web deployment task failed. (Object of type 'manifest' and path 
    'manifestpath\projectname.xml' cannot be created.  Learn more at:
    http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEPTION_WHILE_CREATING_OBJECT.)

これは、マニフェスト ファイル内にある app.publish フォルダーが存在しないことが原因です。フォルダーはビンに配置する必要があります。

VS 経由でパブリッシュすると app.publish フォルダーが作成されるため、現在実行しているコマンドが実行しないことを VS が実行すると考えていますが、それが何であるかはわかりません。

これをコマンド ラインから実行する必要があるのは、ビルド サーバーでパッケージを作成できるようにするためです。

4

2 に答える 2

3

理論的には、3 つのライトスイッチ プロジェクトのルート プロジェクトのPublishターゲットをターゲットにできるはずです。.lsxtprojこれにより、すべての依存関係のビルドがトリガーされ、Server および HtmlClient プロジェクトの出力が、あるPublish\フォルダー内のパッケージにプッシュされます.lsxtproj

このDeployOnBuildプロパティは、パッケージの作成をトリガーするために標準の Web プロジェクト ターゲット ファイルによって公開されますが、これは LightSwitch プロジェクトには当てはまらないように思われます。したがって、それを削除する必要があります。

ビルド スクリプトとして機能する別のプロジェクト ファイルを作成する場合は、次のようにします。

<?xml version="1.0" encoding="utf-8"?>
<Project MSBuildVersion="4.0" ToolsVersion="12.0" DefaultTargets="LSPublish" 
  xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="LSPublish">
        <MSBuild Projects="[path_to_yourproj].lsxtproj" Targets="Publish" />
    </Target>
</Project>
于 2014-11-11T10:46:34.147 に答える
0

まず、LightSwitch アプリケーションを Visual Studio 内から手動で発行する必要があります。これにより、LightSwitch アプリケーション プロジェクト ファイルに適切なプロパティが設定されます。

LightSwitch プロジェクトには発行プロファイルがないため、残念ながらシナリオでそれらを利用することはできません。コマンド ラインからプロパティを動的に設定する場合は、MSBuild で /p スイッチを使用して、LightSwitch プロジェクト内で定義されているプロパティをオーバーライドする必要があります。

次の手順では、ソリューションではなく、LightSwitch プロジェクト ファイルに対して msbuild を呼び出す必要があります。そして、「Publish」ターゲットを呼び出す必要があります。したがって、これは次のようになります (プロジェクト ファイルの拡張子は、使用している LightSwitch のバージョンによって異なります): msbuild MyLightSwitchApp.lsproj /t:Publish /p:

于 2014-11-10T14:35:27.683 に答える