【发布时间】:2012-01-24 17:12:21
【问题描述】:
我正在编写一个简短的批处理文件来准备一个带有示例项目的控件库 DLL,以便通过 sip 文件进行部署,并且有以下问题。
给定一个位于已知位置的 csproj 文件和一个位于已知位置的 DLL,是否可以从批处理文件(通过第三方命令行 exe 或其他脚本)以编程方式更新 csproj 以添加新的 DLL?
我的文件夹结构是
/Build
/SDK
/WPF
/4.0 : ControlLibrary.dll sits here
/Examples
/WPF
/4.0 : Examples.csproj sits here
假设批处理文件在/Build级别,有没有办法修改Examples.csproj来引用ControlLibrary.dll?
澄清一下,我之所以有这样的结构,是因为我希望部署一个示例 csproj 以随我的控制库一起提供。 examples.csproj 应该引用 SDK/ 下的混淆控制库。 Examples.csproj 也存在于开发主干(从中复制它)中,并且在开发解决方案中它引用了 ControlLibrary.csproj 的非混淆形式的输出。
本质上,我在这里创建的是一个文件夹结构,用于压缩和发送 ControlLibrary plus 示例,因此需要更新参考。
更新 - 使用 Powershell 解决
请使用 Powershell 在adding and removing references 上查看此相关问题和答案
【问题讨论】:
-
如果你在尝试部署,那为什么要修改csproj文件呢?
-
@JohnSaunders 谢谢,我刚刚在 Q 中添加了更多信息。这是否澄清了它?
标签: c# dll msbuild batch-file csproj