C# 在 #if DEBUG 中使用语句但不运送程序集

标签 c#

我有一个功能,我只想在调试时出现,但不想发布此功能所需的 dll。这可能吗?

我有:

#if DEBUG
using MyAssembly;
#endif

当然,项目正在引用 MyAssembly。我希望 MyAssembly.dll 不以 Release模式发布。那能实现吗?在这方面使用 Conditional("DEBUG") 会有帮助吗?

最佳答案

编译器通常会自动删除不需要的引用,但是:您可以通过更改 csproj 以包含 Condition 来更加明确在 PropertyGroup 上.像这样的东西:

<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
  <Reference Include="YourReference" />
</PropertyGroup>

(也可以是 <PackageReference> 等)

关于C# 在 #if DEBUG 中使用语句但不运送程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44555646/

相关文章:

C# Linq All & Any 在空白数组上的工作方式不同

c# - 需要从 C# 中的分隔符中提取字符串

c# - 按区域划分的 Controller

C# 覆盖方法

C# Excel 互操作 - 如何测试互操作对象是否仍在工作并执行任务?

c# - NLog ${identity} 和 ${windows-identity} 保存为 "notauth"

c# - 使用 ADO.NET 创建新数据库 (.mdb)

c# - 在多个页面上重复使用 WPF 方法 - 我应该使用静态类还是单例?

c# - 本地时间明天午夜(根据夏令时调整)

c# - 身份服务器 4-IDX10630 : PII is hidden