修改.NET项目文件和引用属性

aro*_*ore 3 .net c# msbuild visual-studio

我正在开发一个应用程序(C#),它将从多个csproj文件中读取项目属性/引用(和引用的属性),并修改它们的值.

但是,在这些csproj文件中找不到像"copy-local"这样的Reference属性(在单击引用时在属性资源管理器中看到的属性).有没有办法可以访问它们并以编程方式修改它们的值?

Kir*_*rst 7

一切都在XML项目文件中 - 这个信息可能不是其他任何地方,它必须在某个地方,对吧?

这是我很快为你做的一个例子.Copy Localtrue默认情况下,框架组件.设置Copy Local为时false,将获得一个名为private为该引用包含的XML元素,该元素本身设置为false.

在这个例子中System.Core是set Copy Local= false.

<Reference Include="System.Core">
  <RequiredTargetFramework>3.5</RequiredTargetFramework>
  <Private>True</Private>
</Reference>
<Reference Include="System.Web" />
Run Code Online (Sandbox Code Playgroud)