2009-07-05 27 views
21

Khi tôi thực hiện dự án delphi 2009 sử dụng dòng lệnh MSBuild, sản lượng luôn đi vào ổ C:Cách chỉ định thư mục đầu ra MSbuild?

C:\MyProjects>MSbuild "C:\MyTestProject\Test.dproj" /t:Build /p:OutDir="C:\Output\bin\" 

Tại sao điều này xảy ra?

Cảm ơn & Trân trọng, Pavan.

Trả lời

24

Tôi biết số docs say otherwise, nhưng thử OutputPath thay vì OutDir.

+2

Yeah OutputPath nên được sử dụng thay cho OutDir, các tài liệu là sai trong trường hợp này. –

+3

Tốt hơn nên sử dụng 'DCC_ExeOutput' thay vì' OutputPath', bởi vì khi bạn có 'PostBuildEvents' và bạn đang sử dụng' $ (OutputPath) ', thì'/p: OutputPath = "xxx" 'sẽ * NOT * được sử dụng trong '$ (OutputPath)', nhưng nếu bạn sử dụng '/ p: DCC_ExeOutput =" xxx "' thì nó sẽ hoạt động chính xác. – kibab

+0

Tôi đã thử điều này, nhưng MSBuild dường như bỏ qua 'OutputPath' khi thư mục đầu ra liên kết được chỉ định trong các tùy chọn dự án. –

4

Đối với các dự án Delphi, bạn cần sử dụng DCC_ExeOutput để chỉ định nơi EXE sẽ đi.

C:\MyProjects>MSbuild "C:\MyTestProject\Test.dproj" /t:Build /p:DCC_ExeOutput="C:\Output\bin\" 

Hãy xem bên trong Test.dproj cho bất kỳ tùy chọn nào khác bạn có thể muốn chỉ định.

+0

các thuộc tính khác ảnh hưởng đến trình biên dịch Delphi (DCC) có thể được tìm thấy tại đây: [http://stackoverflow.com/questions/what-are-the-msbuild-project-level-properties-for-delphi](http:// stackoverflow.com/questions/2373991/what-are-the-msbuild-project-level-properties-for-delphi) –

Các vấn đề liên quan