我正在使用nant 0.85版本。我已經在一個文件中定義了一個屬性,並沒有指定類似於'只讀= true'的屬性,但是當我嘗試更改屬性的值時,我收到警告說屬性不能被覆蓋。已經嘗試設置readonly="false" overwrite="true"
。但似乎沒有任何工作。任何幫助,將不勝感激。Nant屬性不能被覆蓋eventhough沒有標記爲只讀
0
A
回答
9
需要更多的細節,特別是如果你在命令行中的「屬性的值更改」。
一兩件事,我有看到造成一些混淆的是,當從命令行(-D:prop=value
)重寫屬性時,並且如果在文件中定義了相同的屬性(<property name="prop" value="value"/>
)它會說只讀屬性不能被覆蓋,因爲從命令行設置的屬性是隻讀的,並且它不能被文件中定義的屬性覆蓋。
這不是相反的方式,這會導致一些混淆,人們認爲儘管沒有readonly
設置爲true等仍然說不能被覆蓋。
所以試着看看你設置的屬性是否實際上使用你想要的值,如果你從命令行覆蓋。
3
你可以在NAnt 0.85完全做到這一點。比方說,例如,您有一個名稱爲「myvalue」的屬性,您希望能夠從命令行傳入該屬性。你會先在惡性腳本定義屬性是這樣的:
<property name="myvalue" value="0" overwrite="false" />
當你調用南特你只需要使用-D參數在新的值傳遞這樣的:
nant.exe buildfile:myfile.build -logfile:mylog.log -D:myvalue=16
而且新的「16」值會在生成腳本的認可,你可以通過簡單地呼應這樣的值測試:
<echo message="myvalue: ${myvalue}" />
欲瞭解更多信息,可以閱讀文檔,並期待在EXA mple 「IV」:
http://nant.sourceforge.net/release/0.85/help/tasks/property.html
10
使用除非屬性,它的工作原理。
<property name="msbuild.path" value="CONFIGURABLE" unless="${property::exists('msbuild.path')}" />
然後像往常一樣惡性-D:msbuild.path = ...
相關問題
- 1. Object.defineProperty覆蓋只讀屬性
- 2. 屬性覆蓋「...」不能被解析爲一個屬性上
- 3. 廚師屬性沒有被覆蓋計算屬性
- 4. 被覆蓋的CSS屬性取消或只是覆蓋?
- 5. 條件屬性被覆蓋
- 6. Python屬性被覆蓋
- 7. 背景屬性被剝離?沒有被覆蓋
- 8. 覆蓋屬性以使其只能從子類中讀取
- 9. 讀取覆蓋屬性屬性
- 10. 如何使CSS屬性不被覆蓋?
- 11. CSS屬性被覆蓋在IE中只有
- 12. Drupal主題功能沒有被覆蓋
- 13. 功能沒有被覆蓋的子類
- 14. 將BaseClass屬性更改爲DerivedClass中的只讀屬性並覆蓋
- 15. 屬性覆蓋沒有任何影響
- 16. RADEditor元素的CSS屬性沒有被覆蓋
- 17. CSS不能正確覆蓋屬性
- 18. jQuery addClass沒有被覆蓋
- 19. Kohana Model_Auth_User_Token沒有被覆蓋
- 20. filebeat @timestamp沒有被覆蓋
- 21. jpg沒有被ImageIO.write覆蓋()
- 22. 抽象靜態屬性不能被覆蓋?
- 23. Nant和更改文件屬性(只讀爲可寫)
- 24. 覆蓋屬性
- 25. 覆蓋屬性
- 26. 覆蓋屬性
- 27. 屬性覆蓋
- 28. 覆蓋屬性
- 29. 覆蓋屬性
- 30. onResumeFragments不能被覆蓋?
顯示一些示例代碼,你怎麼也覆蓋等 – manojlds 2011-05-24 06:18:27
,嘗試南特0.90 0.91_alpha,您使用的版本於2006年發佈! – skolima 2011-05-24 06:59:32
我沒有任何命令行屬性。我從Cruisecontrol.net運行這個nant構建。這些屬性位於一個文件中,並使用include標籤包含這些屬性。儘管我沒有將這些屬性指定爲只讀,但當它們包含在構建文件中時,它將以只讀方式包含在內。然後,我嘗試將包含文件的內容移到相同的nant構建文件中。但不知道它在哪裏設置屬性:(。 – priya 2011-05-26 05:12:42