0

I am trying to build a PIP project in VS 2010. I'm using Ocean SDK 2012. When I create the PIP project I've used the wizard but I've noticed the pre-build event has the DeployList.xml first when it should be second in the parameter list. Now when trying to do a build it comes up with an error saying that
"Target folder cannot be created."

I'm not sure what or where this target folder is supposed to be. Has anybody done a PIP project before and can give any tips...

user1584120
  • 1,169
  • 2
  • 23
  • 44

2 Answers2

1

FYI: we got a couple of similar issues via Ocean Developers Portal (http://www.ocean.slb.com), probably one was from you :), in this case you can ignore the following answer:

We found some problem with csproj file, you can check if you have the same: open the file in notepad/textpad and check these two tags for PropertyGroup Condition:

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

The problem here is that DeployCopier parser skips these nodes because it does not match with the one with the attribute:
" '$(Configuration)|$(Platform)' == 'Release|x64' "
Please note the lead and trail space!
DeployCopier uses this to compare:
string.Format(" '$(Configuration)|$(Platform)' == '{0}|{1}' ", data.Config, data.Platform);
(with the leading and trailing spaces)

In a future, it will be fixed in DeployCopier to ignore the spaces. If the statements do not have single space after starting double quote and before ending double quote in your file, try to add a space before and after the PropertyGroup attribute value like:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">

Alex
  • 318
  • 1
  • 6
0

There is no problem to use PIP builder from SDK 2012 with VS2010. Please be sure that your PIP project is under the same solution with your Plug-in and you have only one plug-in that will be packed in PIP. The proper PIP project's events look as:

Pre-build:

rmdir "$(ProjectDir)\obj\copytemp" /s /q "$(ProjectDir)DeployCopier.exe" "$(ProjectDir)DeployList.xml" "$(ProjectDir)\obj\copytemp" /config:$(ConfigurationName) /platform:"$(PlatformName)"

Post-build:

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

Probably you need to delete your previous PIP project from solution and recreate it.

Alex
  • 318
  • 1
  • 6
  • Those are the same events I get but the usage for DeployCopier (displayed when running it on command line with no arguments) is: Usage: DeployCopier.exe [/config:] [/platform:] As you can see thats opposite to what is generated. It also states that its v3.2011.0.0 but when checking the details on the exe it says 3.2012.0.0. I'm guessing somebody has hardcoded a couple of things? Does it matter if I have more than one plugin in my solution? When going through the wizard I only select one of them. – user1584120 Nov 01 '12 at 11:05
  • It's OK if you have the only one plug-in selected for PIP. It's difficult to diagnose your error without see your code, but the message "Target folder cannot be created" doesn't belong to Ocean and looks as a generic VS message, the target folder here can be a macro associated with project's event (PIP builder) and linked to project's Settings -> Build -> Output path. – Alex Nov 01 '12 at 15:42