|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
NX12.0 二次开发使用VS2012 报错解决方案
- N7 T1 p4 w, R严格的讲NX12.0需要使用VS2015进行开发,这里说下如果你是低版本的解决方案,但是不推荐!
! S. C/ H5 t, G- i* m* n8 P* O: N(1)安装完后,点击Open Wizard 告诉你创建项目错误8 C, c' A4 i# g$ q6 v; E/ M0 u" b
) F5 ~/ q! g% J这种问题就是编译器版本不符合官方的匹配导致的,更改方法很简单 4 G" }5 {* T* Z* T
打开 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcprojects下的NX12_NXOpenCPP.vsz 将
7 A) j' S, j' ~4 l$ I7 IWizard=VsWizard.VsWizardEngine.14.0 中的14 改成11 也就是对应的VS2012
0 h4 r0 d! s K
c! A Y% W9 a: T$ a: j
这样创建的对话框就可以出来了!
2 a) ~. L/ k$ c7 u(2)你可能还会遇到路径错误,path not found, 建议对这个文件进行修改,尤其是你有多个版本存在的话,一劳永逸6 D7 s# j8 b% J* }9 x- G
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\VCWizards\NX11_NXOpenCPP\scripts\1033 下的default.js 文件
# O' H! w' V* O# @7 b) C8 Q y修改里面的环境变量路径,注意路径是双反斜线 \\,参考如下!
' a; [% w0 d% {/ O$ i7 `; r) ~
+ h1 l' J s7 C2 t% V, c//@<DEL>@ TEXT ENCLOSED within delete markers will be REMOVED
4 }7 W7 S6 ^) h# _$ \* C3 n1 T: i// 09-Jun-2012 Frank Berger Initial Release for VS2010 based on "NX8 Open Wizard"
9 _) ?) v" t# K4 M; e! d// 31-Okt-2013 Frank Berger modified for VS2012
# E9 f0 _, j R# v% v ]. b5 m: G// 13-Feb-2015 Sudhir Pawar ARCH:11320: Added libufun_die.lib,libufun_vdac.lib & libufun_weld.lib
( J$ C2 G3 ?1 g) s# C// 21-Dec-2015 Purushottam Thakre Fixed PR#7567548: Call DeletePlatform function to delete 'Win32' platform.4 ? Z$ S9 T* `6 r4 l& |# [
// 08-Jan-2016 Prabhakar Mandlik Fixed PR#7588129: Added /d1scalableinclude- swiTCh.
, e& W8 K. s) {4 C- t8 p// 10-Feb-2016 Purushottam Thakre Fixed PR#7630769: Reverted changes done to fix PR#7567548 which is causing regression. C, G5 V+ n$ ^- h4 y: Z
//TEXT ENCLOSED within delete markers will be REMOVED @<DEL>@
$ [5 h/ ]* c7 b# v9 H
X9 I4 s% \* O6 F# Q3 Vfunction OnFinish(selProj, selObj)
9 F) w: z! f( P* w{
, P9 c( S: A; {! ~ try. M3 i* }& P2 g7 V! C
{
* p+ G4 z. Z/ w7 j' J' B. P var bodyTemplateFile = wizard.FindSymbol("TEMPLATES_PATH") + "\\" + "body_template.txt";
( s5 p3 N; v* S' ^2 o var bodyTemplateText = wizard.RenderTemplateToString(bodyTemplateFile);$ }' O; X0 P- b, j9 J+ @; |/ \) w
wizard.AddSymbol("BODY_TEMPLATE", bodyTemplateText);5 S( X9 D. |3 }2 c3 R+ G
$ h. W9 G" C7 U2 [ var entryPointsTemplateFile = wizard.FindSymbol("TEMPLATES_PATH") + "\\" + "entry_points_template.txt"; _% {( V2 u" O# d* F
var entryPointsTemplateText = wizard.RenderTemplateToString(entryPointsTemplateFile);$ \! b5 _6 n2 |: e9 \; y
wizard.AddSymbol("ENTRY_POINTS_TEMPLATE", entryPointsTemplateText);
! x! y, T, }( x
1 d; E& x* l( ?3 g8 R var unloadOption = "UNLOAD_IMMEDIATELY";
0 R5 {# p5 l9 q H4 |* z# a if ( wizard.FindSymbol( "UF_UNLOAD_UG_TERMINATE" ) )! _, H6 u [2 n4 }# V* _
{
* |1 g$ v2 `& ]/ k: ?- c0 q unloadOption = "UF_UNLOAD_UG_TERMINATE";
/ b( [0 P! p; d0 S }
2 x& g8 |& A, b. e else if ( wizard.FindSymbol( "UNLOAD_SEL_DIALOG" ) )# C; c3 b g9 n& j# l
{
X# |" y3 f( o8 Q; ^ unloadOption = "UF_UNLOAD_SEL_DIALOG";8 {+ r, [; v' {. V; D0 c
}
2 d( |* g' [2 ?- V4 s2 p wizard.AddSymbol("UF_UNLOAD_OPTION", unloadOption);
% Y$ R4 l$ b8 ]. Z) \! |. Y3 P. C6 v! M7 C$ l( h E* K, h
) `5 V! K6 g# ]- G( m // Assign the project path and project name
, A. S. Q' u3 Y9 t6 l var strProjectPath = wizard.FindSymbol("PROJECT_PATH");
1 H* N4 \8 z3 B$ s var strProjectName = wizard.FindSymbol("PROJECT_NAME");# C9 q# ]: w1 d( n( k
var strClassName = wizard.FindSymbol("MAIN_CLASS_NAME");& B A" K: W* K
if ( strClassName.length < 1 ) 1 A# ^) f! S) ]) e' ?
{; r6 V' y3 T( V; R* ?5 { Y
wizard.AddSymbol("MAIN_CLASS_NAME", "NONAME");) s0 v2 h9 }9 V/ f' }# J) ?
}
! _3 f& P$ F. n2 D. Z
: P+ |. e2 s6 A! I: ` // Create the Visual C++ project and call it "NXOpenProj"
' ?6 l, h. d- E% p9 O selProj = CreateProject(strProjectName, strProjectPath);
5 | z+ m; ]' o: p6 u// selProj.Object.Keyword = "NXOpenProj"5 B3 j8 f( g9 B9 J
[7 P; @' q3 s& H( d* v' C // Add common and specific configurations to the project
/ i9 Y! ?! M% V" L: j AddCommonConfig(selProj, strProjectName);
) B% _4 G/ E8 }2 I, }7 Z: ~5 P AddSpecificConfig(selProj, strProjectName);
9 ~( X% Z; h# D& U/ _0 ~! K: x& Q// selProj.Object.keyword = "MFCDLLProj";5 S* `( x$ E& ?7 ^* ?
- [$ X9 k$ [2 ?/ \6 p+ L2 V! e$ Y2 ~5 ?
//Set the project filters
5 \+ t. P+ t' [/ Q: r h SetupFilters(selProj);
0 D3 p; @) b& i) C. G5 m6 L, `
3 v) M. ]4 d& v // Add files to the project from the project's Templates.inf file5 y5 x' I: G {
AddFilesToProjectWithInfFile(selProj, strProjectName);
! U1 ]% n- x! [, _2 E% ]+ d5 B& H
3 K( h2 C& G# i selProj.Object.Save();
% }- }; F& q9 E# J1 B1 [ @ }
1 ^+ R% V% j0 [: a2 U- F5 J catch(e)1 N5 P3 w! o/ \# H
{
- H' J' C8 }7 h3 W if (e.description.length != 0)
9 Y5 r: d; h8 g SetErrorInfo(e);
$ ?4 t8 R* m2 h; X+ z return e.number
5 U' t! y9 y. m- e }
8 b% ^$ h1 q& I; j: T# z( v}4 d' n- o- g+ @# m" o% }4 G
) r6 I8 w- U# j6 n6 m
function SetFileProperties(projfile, strName)
1 c- a6 c$ F& a0 Q{
3 x5 Z: n/ b) j. m return false;! C, T2 B. O: c& `9 _# l q
}
. S$ a6 I5 [1 X# ^- H) f) g
* l. U/ N% X) h6 x, I7 G: \function DoOpenFile(strTarget)0 l0 }' Q! Y8 u/ @+ f2 F0 t- s# g
{; b6 J# s7 m, v
return false;
# ~5 t, ]( ?! ]' A$ F}
) T3 `3 K; H$ t- m" ^
' N* T& B3 \) m) tfunction GetTargetName(strName, strProjectName, strResPath, strHelpPath)/ v9 x+ S) j* m, ]. B, V( |" X6 y; G
{: d @+ {& ` o& d Y" o0 l' s
try# ^( C" S D* L+ e
{4 G% {, H9 t7 ?% H0 O9 W8 v$ S% u0 ]6 c
var strTarget = strName;" _- h" u* {' ~+ r) q- l4 T
if (strName.substr(0, 4) == "root")4 b9 g: T9 }# f& b
{0 g1 A1 |6 E, I+ Y& \" G
var strlen = strName.length;# P) i: a" T: Y$ U! m
if (strName == "root.ico" || strName == "root.rc2")% S. j* P, C7 d3 w- U3 q. k
{. K8 x8 o k. w |9 d
var strSafeProjectName = wizard.FindSymbol("SAFE_PROJECT_NAME");
: n5 ^. z* p7 U1 q" u9 u+ U strSafeTarget = strSafeProjectName + strName.substr(4, strlen - 4);
. e9 J( V. d5 S$ w strTarget = strResPath + "\\" + strSafeTarget;$ i7 x" N0 [6 M7 m; y9 d
}
+ d. u7 S; Z! y+ x N else if (strName == "root.txt" )
$ E8 p. J/ L- e) s8 ?4 c. i9 E {5 E* [" E+ k; O- U
strTarget = strProjectName + ".cpp";
, g5 j$ H& M ^ }
( {% e# L! t9 m% r# r8 U! k% @ Y else! a7 F; l/ u! l2 \
{* x2 F B, t7 r$ N
strTarget = strProjectName + strName.substr(4, strlen - 4);
: i( p6 p* U9 E7 o1 ]6 n5 }- } }
! C/ k; z' ]0 z3 U3 u/ v return strTarget;
* l3 Q1 `8 k, f }
4 X6 W. I( Y: _1 j i5 [ n6 I
8 S0 B. D% F' {; u1 j switch (strName)3 }( M! r& D9 ~# W
{3 ~! H2 o+ g( G d, e
case "readme.txt":1 K0 y9 f1 c" d
strTarget = "ReadMe.txt";$ K/ ~, h H( ]1 y- r8 I+ y) a
break;
8 I& |# y( }' x' b n3 A. Q case "all.rc":
- t/ J* o) d) U( n case "dlgall.rc":
4 F5 @8 ]- o3 d8 \4 A% `4 q) m9 ? strTarget = strProjectName + ".rc";
9 v& }( s; j# z6 U9 A break;% A( w. v; {: K3 f% [
case "dlgres.h":
1 b9 e1 S3 ?( ?$ u case "resource.h":
J6 B/ H0 y9 R b1 {5 }6 d2 Q4 X strTarget = "Resource.h";+ U6 n+ S' K& b# v7 y
break;/ @5 U% d! G. L# {
default:, _+ B0 T% j3 T- `; e4 n& o* k2 Y
break;
% T9 k( O+ T' o0 f( i }
1 E3 o7 l# ~& j- F/ N return strTarget; ; G q, \" E8 i Z2 {
}
0 O' r1 q9 e, S8 |* |& t catch(e)
% m2 G( [) T2 T; L- B; D& W+ q {
9 h* H$ v3 U5 c& i' ` y; W throw e;! O2 l; X/ S. e: C- J
}
3 ?2 s X- c' \4 }}2 E' {- |# L1 U1 @
4 n* a1 Z& u' L. T! B
function AddSpecificConfig(proj, strProjectName)% B0 C8 r! Z$ E' }- w/ J3 c* I; M% k
{$ O$ `7 T$ |2 W& g
try
7 b% C3 W: [7 w2 V' e8 L {
: L' N6 N$ y9 G- @ var isDllApp = wizard.FindSymbol("DLL_APPLICATION"); [+ N; Z( O: R7 m/ c. _
var isCxx = true;; g) q; w2 z: M) L" {
, k# D8 R" b- j$ B0 k- k
var appType;: {4 ?/ {/ u6 a: M: c8 J! _8 j
var appExtension;
) @' f5 `5 `$ ? K" X' R* e! y3 @' p
proj.ConfigurationManager.AddPlatform("x64", "Win32", true);
' N# U- y' y% D2 `5 f R
1 w/ k( o9 |# G+ v$ `, H' { if ( isDllApp )) n) b5 D( b# B* c5 _! u' }( t
{9 D2 k$ Y& j& T [& \
appType = typeDynamicLibrary;
+ W9 m# O: M! Z( r9 s# s# t appExtension = ".dll";) ]% _3 i) e: q
}
/ S: [; W0 U- I; | else
; w v* h# @% o- p6 ?3 R5 q; o4 B {
6 ~0 X, B3 F! t6 V appType = typeApplication;! R' `6 I# q5 p; ^! c
appExtension = ".exe";
/ I$ I+ m7 B- ^- E/ k }7 u3 y2 f# C$ P9 T! V! \5 s
" H. I t- h3 c+ m$ b1 N var linkLibs = "libufun.lib";
, _$ e+ K* [- c0 J/ e h+ }6 Q$ L linkLibs += " libufun_cae.lib";$ M3 F! Z, N1 w2 m2 u) Y
linkLibs += " libufun_cam.lib";
, z1 `* \; e( U; q8 q linkLibs += " libufun_die.lib";
+ e- g) p3 ]' n/ s. f: k linkLibs += " libufun_vdac.lib";
1 f" x5 Y* f7 T2 F linkLibs += " libufun_weld.lib";! s$ B& D: d' X) v; M! E
$ X2 U4 u1 q! S' \' H9 g, y. M# r3 G if ( isCxx)3 C. Y0 r( I5 f: H7 |+ @
{" e9 X* V+ o) w$ E2 G" V, p1 @: X
var wshell = new ActiveXObject("WScript.Shell")% ~" D+ `1 W" H+ u0 i B
var libpath ="D:\\dsplm\\Siemens\\NX12\\ugopen";
5 B" L/ p1 A8 F% P- T var Fo =new ActiveXObject("Scripting.FileSystemObject");- d2 D$ A1 S. h( }4 V. I
var FSo = new Enumerator(Fo.GetFolder(libpath).Files);3 Y# e+ T* ?$ T( I; i, F4 h; z
var nxopencppName = "libnxopencpp";
N6 g8 Y% g; `' G$ L" C for(; !FSo.atEnd(); FSo.moveNext())1 T" e" i# J9 e4 `( J8 R
{. X! m# M& y. \, B! I! X
if(FSo.item().name.match("^"+nxopencppName)==nxopencppName) //check if file name start with libnxopencpp: w! @' a" b+ b' Q6 @
if(FSo.item().name.slice(FSo.item().name.lastIndexOf(".")+1).toLowerCase() == "lib") //check if file has '.lib' as an extension
r# r) K2 V- [, e {# a9 q5 l/ x1 }1 b- g1 \- N
linkLibs = linkLibs + " " + FSo.item().name;
2 |4 i) s: p' S }
8 g: G. v; u% ^- G \& X }
$ k: f9 m! q; N" G h4 y }2 T: C: B- z8 C: t" `7 N! D
. v* T+ Y, q/ ~* Q/ b2 g. j! W- R if ( isDllApp ); X- {3 ?, P2 d7 b0 e% r
{$ d) \' c2 s( B0 o2 m z7 R
linkLibs += " libugopenint.lib";7 l4 J7 f+ C0 A& S- Y" ]" l
linkLibs += " libugopenint_cae.lib";) S( g2 \; `7 y1 {0 m: q* O$ h
linkLibs += " libugopenint_cam.lib";
+ U# \" e8 A2 p! p* B. x0 J3 ]' e" ?! z. e9 ? K+ Z
if ( isCxx)+ u# t d, d1 q) T! z
linkLibs += " libnxopenuicpp.lib";
) i# \8 N2 p; u) p) T }
4 ?+ d! D k# ~) I3 A# p! B0 n1 v7 ]; u
//=================================================================
: p4 ^0 G% ^5 R& }: {/ ] // Debug Configuration( e6 b; D7 J& E) ^7 |0 W/ X7 F
//=================================================================
, p4 Y7 f1 e0 J8 o- K//LRJ - add x64# M3 L: _# R& B) L; x
var config = proj.Object.Configurations("Debug|x64");
0 D3 ^" q8 ^$ k' C config.ConfigurationType = appType;
/ b! z: b5 k7 b3 ? d: T& A- {( j* s config.CharacterSet = charSetUnicode;9 A" S+ {* ]/ L# O2 l; w
config.useOfMfc = useMfcStdWin;; `& F$ t* y" e; @9 B. I. D
8 N8 \! i, |0 C5 x
var CLTool = config.Tools("VCCLCompilerTool");& Z! n* B7 E/ a. l) w+ {
var strDefines = GetPlatformDefine(config);# D* P" c" ~ O6 F- k* _# }
strDefines += "_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0";: `8 Y. v0 o/ ` ?- f; s
if ( isDllApp )
' J7 Y5 |# h. i& }, h; M {9 R) h) `0 n4 I. v3 F6 I1 J3 @, ^
strDefines += ";_USRDLL";
/ x8 B" G; b9 t }( i1 ^7 v# o2 K& C! y) @
else9 }. U- C2 h$ t0 [
{; k* c z1 G% ]9 Q8 R1 S
strDefines += ";_CONSOLE";
; v# U5 I% Y6 D) I, Y }
6 }- i6 j+ N* m7 y$ c) @. |, c9 G! H0 B- w* @9 @8 X( `- \. T8 Q
CLTool.PreprocessorDefinitions = strDefines;
9 [) ]$ l4 {, J2 ]. i1 Z2 y
4 U* |( L P0 X4 Q2 S+ r1 g config.UseOfMFC = useMfcDynamic;
/ N a+ N9 l+ M, G! \1 f+ o- h CLTool.RuntimeLibrary = rtMultiThreadedDLL;
: |5 h6 \5 g$ x! a- O* k
* y+ l/ F8 @- {. S CLTool.TreatWChar_tAsBuiltInType = true;
5 q* r3 }- M8 k! B' a& U CLTool.DebugInformationFormat = debugEnabled;# B% }0 Q6 D& q8 E) R
CLTool.AdditionalIncludeDirectories = "D:\\dsplm\\Siemens\\NX12\\ugopen";2 ^: p+ c% d4 J, Q/ X
- W! T' r8 J Z7 D
CLTool.RuntimeTypeInfo = 1;
9 ?5 _: F- ^' }; i CLTool.UsePrecompiledHeader = pchNone;+ m: [( W; \$ o. i! |( g7 h% b
CLTool.AdditionalOptions = "/d1scalableinclude-";, S: _1 o4 [" Z( c, G! Y
* l' N. o9 j2 F0 t2 \& p//LRJ - change for X64 - add TargetMachine
3 N+ O+ H; e; }4 n' x5 k var LinkTool = config.Tools("VCLinkerTool");7 I9 J4 {* o0 `6 D; t3 k
LinkTool.TargetMachine = machineAMD64;/ [ |9 I. F6 ^. U( K3 [
LinkTool.LinkIncremental = linkIncrementalYes;
- L! F3 e+ S4 A! v7 m LinkTool.GenerateDebugInformation = true;
% C+ ?& `+ W8 i) j; [ LinkTool.OutputFile = "$(OutDir)/" + strProjectName + appExtension;3 j: y7 M8 U2 _1 t6 d
if ( isDllApp )* ~! o* t$ u8 j) l$ ? g
LinkTool.ImportLibrary = "$(OutDir)/" + strProjectName + ".lib";2 O# N" N( z/ e1 F8 h6 w+ Z" c6 J
LinkTool.AdditionalLibraryDirectories = "D:\\dsplm\\Siemens\\NX12\\ugopen";3 f* [5 r$ S, t: Y B
LinkTool.AdditionalDependencies = linkLibs;4 l; u' M. R5 x( E$ M# L3 t
LinkTool.SubSystem = subSystemConsole;4 F% e. m5 A$ i8 }% w2 @5 F
//LRJ - add following line for X64 definition
$ J, @; E# j# l dte.ExecuteCommand("Build.SolutionPlatforms", "x64");& ?; N2 [3 r8 }) a
- _. [# A" H3 @9 C/ T# E6 b( z //================================================================= ? f$ u- D( X8 u1 c
// Release Configuration: s Q7 J* V0 a. U/ F# ?% \3 s
//=================================================================
" y3 T, C. ]1 S//LRJ - add X64 definition to configuration line w& U5 e: {/ B* R: x
config = proj.Object.Configurations("Release|x64");
3 w* r7 o' m( [& s0 _ config.ConfigurationType = appType;: T8 x4 t- w/ |
config.CharacterSet = charSetUnicode;2 u+ D& b, [1 \8 a& u: a
config.useOfMfc = useMfcStdWin;) ?5 K; M2 `) [0 H
/ S! C2 O/ a: g CLTool = config.Tools("VCCLCompilerTool");
" r- ~: ]% M1 v# w8 k, p strDefines = GetPlatformDefine(config);
: O2 S2 I( L8 i6 L5 A3 [ H strDefines += "_CRT_SECURE_NO_WARNINGS;_SECURE_SCL=0";
1 {" B+ `4 V+ G if ( isDllApp )' m) C x' v0 N/ J y4 M
{. _- x7 ]9 v+ t6 x4 h' i @- g
strDefines += ";_USRDLL";
& L2 F; Z3 K" P* ]# l; { }
- q/ ^% T4 e1 H2 |7 `4 a2 K else7 _( i7 C. w$ G) P
{
4 ?; J+ p/ w5 A( m6 ~$ S4 ?& J; k strDefines += ";_CONSOLE";. P3 G/ b6 t+ d
}% R, o: u+ H( n1 p4 D
( a) x* U7 {7 {2 n7 p CLTool.PreprocessorDefinitions = strDefines;
3 T0 m2 {1 [% N/ c( V1 w
- t# E5 h6 `4 D5 z% b. E; t config.UseOfMFC = useMfcDynamic;1 V9 ~7 }9 w# Y( w, W0 N W1 R
CLTool.RuntimeLibrary = rtMultiThreadedDLL;* E: K: B7 U+ y/ O" r8 a
2 e8 `" g' T7 p& i3 M
CLTool.InlineFunctionExpansion = expandOnlyInline;5 k" S9 [6 V q" E! ^; T0 I2 M
CLTool.TreatWChar_tAsBuiltInType = true;$ {! x# c# k4 I9 h2 f5 ~ o
CLTool.DebugInformationFormat = debugEnabled;9 f& q: [+ ^/ D( F5 s& C6 C
8 C6 m) q+ ~; O1 Q$ [ CLTool.AdditionalIncludeDirectories += ";D:\\dsplm\\Siemens\\NX12\\ugopen";: s1 H0 @3 F5 [/ \5 v5 z
. R; i: z- |" p4 d4 \, I/ r CLTool.RuntimeTypeInfo = 1;
0 I) F6 i% K* n) G5 U, ]$ Q4 d CLTool.UsePrecompiledHeader = pchNone;+ V, K4 h3 ?/ N1 R; t# [
//CLTool.AdditionalOptions = "/d1scalableinclude-";
, ~$ c% C- v$ S2 S2 K9 }
: W* ?, f* g7 H* s* \, B0 K# s LinkTool = config.Tools("VCLinkerTool");
! L, t: Q7 Z/ i//LRJ - add following line for X64 definition
6 N; I" p4 `" a LinkTool.TargetMachine = machineAMD64;) @- O; h. Z+ P, D c
LinkTool.OutputFile = "$(OutDir)/" + strProjectName + appExtension;
9 V# j: ^% F; S D& | if ( isDllApp )8 Z( i( p6 Y- N6 H
LinkTool.ImportLibrary = "$(OutDir)/" + strProjectName + ".lib";. J% p" ?. j _8 A- z" @
LinkTool.GenerateDebugInformation = true;5 p1 u. h3 \1 @; ~2 s, T# C
LinkTool.LinkIncremental = linkIncrementalNo;
4 O6 i9 j5 u% i LinkTool.AdditionalLibraryDirectories += ";D:\\dsplm\\Siemens\\NX12\\ugopen";
$ @( F: T' Z* n: p LinkTool.AdditionalDependencies = linkLibs;5 g5 t. L- P* L% E- d9 x
LinkTool.SubSystem = subSystemConsole;
9 A' ~6 y$ E/ S! F+ O3 X6 Y//LRJ - add following line for X64 definition
: f; {2 p. k1 m& T5 H! {6 M& P dte.ExecuteCommand("Build.SolutionPlatforms", "x64");
( i" O. b' e* @$ U/ s$ C }
P1 ]/ n$ x; [# T( |6 G, \+ G catch(e)
2 G1 f2 s) ~0 y6 m% \ {7 n( Z" n1 I/ D2 m" y3 W
throw e;
$ y5 [* f5 h! V: A5 H }
& u5 _" W( F4 W3 H' a4 U9 u% w. L}
. q2 V8 B) |& A: b( M
+ N, p. v* ~# L$ \5 e+ {: g8 R1 w; A4 t- z: W8 Y% s" ?8 e
; T6 r; X& T- Y2 f" {* ?( x
|
|