C# “设置”;“建立行动”;及;复制到输出目录";

C# “设置”;“建立行动”;及;复制到输出目录";,c#,visual-studio,properties,C#,Visual Studio,Properties,有没有办法从代码中设置这些“构建操作”和“复制到输出目录”属性 参考VSLangProj,从文件属性2类中查找属性名称。 要获取和更改文件的属性,请使用 var project = _applicationObject.Solution.Projects.Item(1); var items = project.ProjectItems; var item = items.Item(1); var property = item.Properties.Item("BuildAction"); p

有没有办法从代码中设置这些“构建操作”和“复制到输出目录”属性

参考VSLangProj,从
文件属性2
类中查找属性名称。 要获取和更改文件的属性,请使用

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;
要定义生成操作,请将设置为以下值之一:

  • prjBuildActionCompile
  • prjBuildActionContent
  • prjBuildActionEmbeddedResource
  • prjBuildActionNone
是一个uint,可以设置为以下值之一:
\u copytooutput state
值():

  • 0<代码>从不
  • 1<代码>始终
  • 2<代码>最新版本

此答案假设您正在开发Visual Studio的扩展。使用构建引擎还有另一个答案可以实现同样的效果:。

参考VSLangProj,从
文件属性2
类中查找属性名称。 要获取和更改文件的属性,请使用

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;
要定义生成操作,请将设置为以下值之一:

  • prjBuildActionCompile
  • prjBuildActionContent
  • prjBuildActionEmbeddedResource
  • prjBuildActionNone
是一个uint,可以设置为以下值之一:
\u copytooutput state
值():

  • 0<代码>从不
  • 1<代码>始终
  • 2<代码>最新版本

此答案假设您正在开发Visual Studio的扩展。使用构建引擎还有另一个答案可以达到同样的效果:。

您是否实现了VS扩展名?是的,但这些是我在运行时生成的文件xaml的属性。因此,我应该以编程方式设置这些属性。它的可能副本似乎是正确的解决方案,但我有一些错误,因为它无法识别我的对象“Project”的方法“AddItem”。您是否实现了VS扩展名?是的,但这些是我在运行时生成的文件xaml的属性。因此,我应该以编程方式设置这些属性。它的可能副本似乎是正确的解决方案,但我有一些错误,因为它无法识别我的对象“Project”的方法“AddItem”。好的,这是正确的解决方案,但是如何将copy设置为output=copy(如果更新的话)?他们在别处记录了CopyToOutputDirectory>updated answer.var propertyCopyToOutput=item.Properties.item(“CopyToOutputDirectory”)的可能值;propertyCopyToOutput.Value=“PreserveNewst”是否正确?无论如何,我收到一个ArgumentException,指向var property=item.Properties.item(“BuildAction”)。。并非所有属性都是在所有文件上定义的,也可能取决于项目类型。对于copytooutputdirectory,应分配数值1、2或3-基础属性是
uint
Ok这是正确的解决方案,但如何将copy设置为output=copy(如果较新)?他们在别处记录了copytooutputdirectory的可能值>更新的答案.var propertyCopyToOutput=item.Properties.item(“CopyToOutputDirectory”);propertyCopyToOutput.Value=“PreserveNewst”是否正确?无论如何,我收到一个ArgumentException,指向var property=item.Properties.item(“BuildAction”);…并非所有属性都在所有文件上定义,也可能取决于项目类型。对于copytooutputdirectory,应分配数值1、2或3-基础属性是a
uint