2017-04-27 41 views
0

有沒有辦法來設置這些「建設行動」,並從代碼「複製到輸出目錄」屬性?設置「建設行動」和「複製到輸出目錄」

+0

你實現一個VS擴展? –

+0

是的,但這些是我在運行時生成的文件xaml的屬性。所以我應該以編程方式設置這些屬性。 – blinkettaro

+0

可能的重複[設置複製到輸出文件夾的代碼](http://stackoverflow.com/questions/5032430/set-copy-to-output-folder-by-code) –

回答

2

參考VSLangProj,從FileProperties2類,documentation here查找屬性名稱。 爲了獲得和更改文件的屬性,使用

var project = _applicationObject.Solution.Projects.Item(1); 
var items = project.ProjectItems; 
var item = items.Item(1); 
var property = item.Properties.Item("BuildAction"); 
property.Value = prjBuildAction.prjBuildActionCompile; 

要定義生成操作,設置BuildAction property這些值中的一個:

  • prjBuildActionCompile
  • prjBuildActionContent
  • prjBuildActionEmbeddedResource
  • prjBuildActionNone

CopyToOutputDirectory property是uint和可以被設置爲這些__COPYTOOUTPUTSTATE值(documentation)中的一個:

  • 0 ... Never
  • 1 ... Always
  • 2 ... PreserveNewest

此答案假設您正在開發Visual Studio的擴展。還有另一個使用構建引擎達到相同的答案:Set Copy to Output folder by code

+0

好吧,這是正確的解決方案,但如何設置副本輸出=複製如果更新? – blinkettaro

+0

他們記錄了CopyToOutputDirectory其他>更新答案的可能值。 – dlatikay

+0

var propertyCopyToOutput = item.Properties.Item(「CopyToOutputDirectory」); propertyCopyToOutput.Value = 「PreserveNewest」 這是正確的嗎? – blinkettaro

相關問題