2012-10-30 147 views
0

我正在嘗試在VS 2010中構建PIP項目。我正在使用Ocean SDK 2012.當我創建PIP項目時,我已經使用了嚮導,但我注意到預生成事件的第一個參數列表中應該是第二個DeployList.xml。現在,當試圖構建它時出現一個錯誤,說
「無法創建目標文件夾」。無法創建目標文件夾構建畫中畫項目

我不知道這個目標文件夾應該是什麼或在哪裏。有沒有人做過PIP項目,並可以提供任何提示...

回答

1

僅供參考:我們通過Ocean Developers Portal(http://www.ocean.slb.com)收到了一些類似的問題,可能有一個來自於您:),在這種情況下,您可以忽略以下答案:

我們發現了一些問題的csproj文件,你可以檢查,如果你有相同的:打開記事本/ textpad文件和檢查的PropertyGroup條件這兩個標籤:

<的PropertyGroup條件=「'$(配置)| $(Platform)'=='Release | x64'「>
< PropertyGroup Condition =」'$(Configuration)| $(Platform)'=='Debug | x64'「>

這裏的問題是,DeployCopier解析器,因爲它不與一個與屬性相匹配跳過這些節點:
「‘$(配置)| $(平臺)’==‘發佈| 64’」
請注意前導和尾跡空間!
DeployCopier使用此來比較:
的String.Format( 「 '$(配置)| $(平臺)' == '{0} | {1}'」,data.Config,data.Platform);
(帶前導和尾隨空格)

未來,它將在DeployCopier中被修復爲忽略空格。 如果語句不啓動雙引號之後,並在文件結尾雙引號之前有一個空格,嘗試前後的PropertyGroup後添加一個空格屬性值,如:
<的PropertyGroup條件=」「$(配置)| $(Platform)'=='Release | x64'「>
< PropertyGroup Condition =''$(Configuration)| $(Platform)'=='Debug | x64'」>

+0

這就是答案!它在我把空間放進去後工作。 – user1584120

0

使用VS2010與VS2010一起使用PIP生成器沒有問題。請確保您的PIP項目與您的插件使用相同的解決方案,並且您只有一個插件將在PIP中打包。正確的PIP項目的事件看:

預建:

命令rmdir 「$(PROJECTDIR)\ OBJ \ copytemp」/ S/Q 「$(PROJECTDIR)DeployCopier.exe」「$(PROJECTDIR) DeployList.xml 「 」$(PROJECTDIR)\ OBJ \ copytemp「/配置:$(ConfigurationName)/平臺: 」$(PlatformName)「

生成後:

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

可能需要從解決方案中刪除以前的PIP項目並重新創建它。

+0

這些是相同的事件I但是DeployCopier的用法(在沒有參數的命令行上運行時顯示)是: 用法: DeployCopier.exe [/ config:] [/ platform:] 正如你可以看到那與生成的相反。它還指出,它的v3.2011.0.0,但在檢查該exe的細節它說3.2012.0.0。我猜測有人已經硬編碼了幾件事情? 如果我的解決方案中有多個插件,這有什麼關係嗎?在通過嚮導時,我只選擇其中一個。 – user1584120

+0

如果您爲PIP選擇了唯一一個插件,那麼也可以。無法看到代碼很難診斷錯誤,但「目標文件夾無法創建」消息不屬於Ocean,並且看起來像一般的VS消息,此處的目標文件夾可能是與項目事件關聯的宏(PIP構建器)並鏈接到項目的設置 - >生成 - >輸出路徑。 – Alex