0

VS 2010 で PIP プロジェクトをビルドしようとしています。Ocean SDK 2012 を使用しています。PIP プロジェクトを作成するときにウィザードを使用しましたが、ビルド前のイベントの最初に DeployList.xml があることに気付きました。パラメーター リストの 2 番目にある必要があります。ビルドしようとすると、
「ターゲット フォルダーを作成できません」というエラーが表示されます。

このターゲット フォルダがどこにあるのか、どこにあるのかわかりません。誰かが以前に PIP プロジェクトを行ったことがあり、何かヒントを与えることができます...

4

2 に答える 2

1

参考までに: Ocean Developers Portal (http://www.ocean.slb.com) から同様の問題をいくつか受け取りました。おそらく 1 つはあなたからのものです :)、この場合、次の回答は無視してかまいません:

csproj ファイルに問題が見つかりました。同じ問題があるかどうかを確認できます: メモ帳/テキストパッドでファイルを開き、PropertyGroup Condition の次の 2 つのタグを確認してください:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' = = 'リリース|x64'">
<PropertyGroup Condition="'$(構成)|$(プラットフォーム)' == 'デバッグ|x64'">


ここでの問題は、DeployCopier パーサーがこれらのノードをスキップすることです。これは、 " '$(Configuration)|$(Platform)' == 'Release|x64' " という属性を持つノードと一致しないため
です。
DeployCopier はこれを使用して比較します:
string.Format(" '$(Configuration)|$(Platform)' == '{0}|{1}' ", data.Config, data.Platform);
(先頭と末尾のスペースを使用)

将来的には、DeployCopier でスペースを無視するように修正される予定です。ファイル内で二重引用符を開始した後と二重引用符を終了する前にステートメントに単一スペースがない場合は、次のように PropertyGroup 属性値の前後にスペースを追加してみてください:
<PropertyGroup Condition=" '$(Configuration)|$(Platform) ' == 'リリース|x64' ">
<PropertyGroup Condition=" '$(構成)|$(プラットフォーム)' == 'デバッグ|x64' ">

于 2012-11-06T18:37:34.773 に答える
0

SDK 2012 の PIP ビルダーを VS2010 で使用しても問題ありません。PIP プロジェクトがプラグインと同じソリューションの下にあり、PIP にパックされるプラグインが 1 つしかないことを確認してください。適切な PIP プロジェクトのイベントは次のようになります。

ビルド前:

rmdir "$(ProjectDir)\obj\copytemp" /s /q "$(ProjectDir)DeployCopier.exe" "$(ProjectDir)DeployList.xml" "$(ProjectDir)\obj\copytemp" /config:$(構成名) /プラットフォーム:"$(プラットフォーム名)"

ビルド後:

"%Ocean2012Home%\PluginPackager.exe" /p "$(ProjectDir)\obj\copytemp\DeployPlugin1testBuild.dll" "$(TargetDir)$(TargetName).pip"

おそらく、以前の PIP プロジェクトをソリューションから削除して再作成する必要があります。

于 2012-10-31T09:09:08.770 に答える