使用nuget包转换.csproj

时间:2016-01-26 15:07:15

标签: nuget nuget-package csproj

我知道可以使用自定义Nuget包转换源代码文件和配置文件。不幸的是,我找不到任何关于如何能够附加或更改.csproj文件的信息。这可能吗?

1 个答案:

答案 0 :(得分:6)

NuGet中直接支持的唯一文件修改是在不使用PowerShell的情况下:

您可以将NuGet包中的文件添加到项目中,但它们会覆盖现有文件。如果添加的文件是.pp文件,也可以进行转换。

请注意,NuGet 3中的PowerShell脚本已经不再使用,因此您可能希望了解是否可以避免使用PowerShell。其他替代方法是您可以包含在NuGet包中的自定义MSBuild .props和.targets文件,这些文件可用于间接修改项目文件。基本上,您可以在自定义的MSBuild .targets文件中添加您想要的任何内容,因为它已导入到项目中。

PowerShell脚本可用于附加或更改.csproj。有一些示例NuGet包执行此操作,例如较旧的Bcl Build NuGet package,它为项目添加了一个import元素。请注意,最新的NuGet直接支持添加导入。

使用PowerShell转换现有代码文件更加困难,但您可以使用Visual Studio object model修改代码文件。