0

我正在尝试在 VS 2010 中构建 PIP 项目。我正在使用 Ocean SDK 2012。当我创建 PIP 项目时,我使用了向导,但我注意到预构建事件首先具有 DeployList.xml应该在参数列表中排在第二位。现在,当尝试进行构建时,会出现
“无法创建目标文件夹”的错误消息。

我不确定这个目标文件夹应该是什么或在哪里。有没有人做过PIP项目并且可以提供任何提示......

4

2 回答 2

1

仅供参考:我们通过 Ocean Developers Portal (http://www.ocean.slb.com) 遇到了几个类似的问题,可能一个来自您 :),在这种情况下,您可以忽略以下答案:

我们发现 csproj 文件有问题,您可以检查是否有相同的问题:在记事本/文本板中打开文件并检查 PropertyGroup 条件的这两个标签:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' = = 'Release|x64'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">

这里的问题是 DeployCopier 解析器会跳过这些节点,因为它与具有以下属性的节点不匹配:
“'$(Configuration)|$(Platform)' =='Release|x64'”
请注意前导和尾随空格!
DeployCopier 使用它来比较:
string.Format(" '$(Configuration)|$(Platform)' == '{0}|{1}' ", data.Config, data.Platform);
(带有前导和尾随空格)

将来,它将在 DeployCopier 中修复以忽略空格。如果语句在文件中开始双引号之后和结束双引号之前没有单个空格,请尝试在 PropertyGroup 属性值之前和之后添加空格,例如:
<PropertyGroup Condition=" '$(Configuration)|$(Platform) ' == 'Release|x64' ">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">

于 2012-11-06T18:37:34.773 回答
0

将 SDK 2012 中的 PIP builder 与 VS2010 一起使用没有问题。请确保您的 PIP 项目与您的插件在同一解决方案下,并且您只有一个插件将打包在 PIP 中。正确的 PIP 项目的事件如下所示:

预建:

rmdir "$(ProjectDir)\obj\copytemp" /s /q "$(ProjectDir)DeployCopier.exe" "$(ProjectDir)DeployList.xml" "$(ProjectDir)\obj\copytemp" /config:$(ConfigurationName) /平台:“$(平台名称)”

构建后:

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

可能您需要从解决方案中删除以前的 PIP 项目并重新创建它。

于 2012-10-31T09:09:08.770 回答