【发布时间】:2016-01-26 15:07:15
【问题描述】:
我知道可以使用自定义 Nuget 包转换源代码文件和配置文件。不幸的是,我找不到任何关于如何附加或更改 .csproj 文件的信息。这可能吗?
【问题讨论】:
标签: nuget nuget-package csproj
我知道可以使用自定义 Nuget 包转换源代码文件和配置文件。不幸的是,我找不到任何关于如何附加或更改 .csproj 文件的信息。这可能吗?
【问题讨论】:
标签: nuget nuget-package csproj
在 NuGet 中直接支持而不借助 PowerShell 的唯一文件修改是:
您可以将 NuGet 包中的文件添加到项目中,但它们会覆盖现有文件。添加的文件如果是 .pp 文件,也可以进行转换。
请注意,NuGet 3 中不再使用 PowerShell 脚本,因此您可能想看看是否可以不使用 PowerShell。其他替代方法是自定义 MSBuild .props 和 .targets 文件,您可以将它们包含在 NuGet 包中,这些文件可用于间接修改项目文件。您基本上可以在您自己的自定义 MSBuild .targets 文件中将任何您想要的内容添加到现有项目中,因为这是导入到项目中的。
PowerShell 脚本可用于附加或更改 .csproj。有一些示例 NuGet 包可以执行此操作,例如较旧的 Bcl Build NuGet package,它将导入元素添加到项目中。请注意,最新的 NuGet 直接支持添加导入。
使用 PowerShell 转换现有代码文件比较困难,但您可以使用 Visual Studio object model 修改代码文件。
【讨论】: