如何在 #if DEBUG #endif 指令之间使用 nuget 包代码?

How to use nuget package code inbetween #if DEBUG #endif directives?

我正在使用最新的 .NET 核心目标 Lidgren 分支:https://github.com/soccermitchy/lidgren-network-gen3 并且我正在尝试模拟数据包丢失/高延迟。

这里有关于如何执行此操作的文档:https://github.com/lidgren/lidgren-network-gen3/wiki/Lag-Simulation

这是我设置网络对等配置的方式:

config = new NetPeerConfiguration(name);
// This line breaks
config.SimulatedLoss = 0.5f;
config.Port = NetConfig.port;
config.MaximumConnections = 200;
config.EnableMessageType(NetIncomingMessageType.ConnectionApproval);

行:config.SimulatedLoss = 0.5f; 不起作用,因为显然 NetPeerConfiguration does not contain a definition for SimulatedLoss.

当我查看源代码时:https://github.com/soccermitchy/lidgren-network-gen3/blob/master/Lidgren.Network/NetPeerConfiguration.cs#L468 我看到 SimulatedLoss 在 #if DEBUG #endif 指令之间。

如何从仅用于调试的 NuGet 包中 运行 编写代码?

我尝试在“工具”->“调试”和其他一些选项中启用一些选项,但我真的无法在任何地方找到答案。

如果这个问题已经被问过多次,我提前道歉。

你从外面无能为力。如果您获得的 nuget 包未使用 DEBUG 标志编译,则该代码不在其中。

您将必须找到编译为调试的包,或者自己将库编译为调试。