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

时间:2018-01-27 12:36:07

标签: c# debugging nuget lidgren

我正在使用最新的.NET核心目标Lidgren fork: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包中运行代码?

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

如果此问题之前已被多次询问,我会提前道歉。

1 个答案:

答案 0 :(得分:1)

你无法从外面做任何事情。如果您获得的nuget包未使用DEBUG标志进行编译,则该代码不在那里。

您必须找到一个编译为debug的包,或者自己编译库作为debug。