You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Net6应用中无需新建NuGet包测试自研库代码的方法

无需重新打包NuGet即可测试.NET 6中自研库代码变更的方法

以下是几种实用方案,帮你在不新建版本号NuGet包的前提下测试代码变更:

  • 直接覆盖输出目录DLL
    编译修改后的自研库(原生C++ DLL + C++/CLI托管DLL),将两个文件直接复制到.NET 6应用的输出目录(如bin/Debug/net6.0),覆盖原有文件。注意操作前要停止应用运行,避免文件被锁定。调试时可先停止调试,替换后重新启动即可加载新代码。

  • 改用项目引用替代NuGet包
    将自研库的C和C/CLI项目加入到.NET 6应用的解决方案中,在应用项目里添加对这两个库项目的直接引用。此后每次修改库代码,编译解决方案时会自动同步最新DLL到应用输出目录,还能直接在调试时进入库代码排查问题,效率更高。

  • 本地NuGet源+无版本号构建

    1. 在自研库的项目文件中配置,将构建生成的NuGet包输出到本地指定文件夹(如C:\LocalNuGetFeed)。
    2. 在.NET 6应用的NuGet包源中添加这个本地文件夹作为源。
    3. 每次修改库代码后,重新构建生成包(无需修改版本号),然后在应用的NuGet包管理器中执行更新操作,本地源的新包会覆盖缓存的旧包。
    4. 若缓存干扰导致新代码不生效,可执行命令清理本地NuGet缓存:dotnet nuget locals all --clear,之后再重新获取本地包。
  • 修改项目文件直接指定DLL路径
    移除应用项目中原来的NuGet包引用,改为直接引用编译好的DLL文件,示例配置如下:

    <!-- 移除原NuGet引用 -->
    <!-- <PackageReference Include="YourCustomLib" Version="x.x.x" /> -->
    
    <!-- 引用C++/CLI托管DLL -->
    <Reference Include="YourManagedCLI.dll">
      <HintPath>..\YourLibProject\bin\Debug\YourManagedCLI.dll</HintPath>
      <Private>true</Private>
    </Reference>
    
    <!-- 配置原生C++ DLL复制到输出目录 -->
    <None Include="..\YourLibProject\bin\Debug\NativeCpp.dll">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    

    这样每次编译库代码后,最新的DLL会自动同步到应用输出目录,无需手动复制或打包NuGet。

内容的提问来源于stack exchange,提问作者Charlie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 14:27:55