Val*_*ris 5 c# msbuild nuget nuget-package
我想迭代一个nuget包,而不是不断地将包推送到nuget feed.
我想知道是否有可能通过csproj文件中的目标或道具文件有条件地添加项目引用而不是nuget包引用,这将允许我在本地调试我的nuget包.
在我的csproj中我会:
<Reference Include="A">
if(Exists(localOverrides.props) {
<HintPath>localOverrides.A.HintPath</HintPath>
} else {
<HintPath>..\packages\A.dll</HintPath>
}
</Reference>
Run Code Online (Sandbox Code Playgroud)
和localOverrides.props将是我的.gitignore中列出的文件,开发人员可以添加以下行:
A -> C:\Repos\A\bin\A.dll
Run Code Online (Sandbox Code Playgroud)
我走错了路吗?当然,必须有一种更可持续的方式来快速迭代和调试nuget包,然后在每次更改时创建预发布包
小智 3
我一直调试 Nuget 包的方式是,一旦通过 Nuget 将该包添加到解决方案中,您就可以对 Nuget DLL 进行更改,并将它们复制到使用 Nuget 包的项目的包文件夹中的正确文件夹中。
您所要做的就是在调试模式下编译 Nuget 项目解决方案的解决方案,然后将它们复制/粘贴到使用项目的包文件夹中。您可以通过编写批处理脚本并将其作为构建后事件添加到 Nuget 项目(该项目刚刚将 DLL 复制到正确的文件夹中)来使此操作变得更加简单。