添加软件包会导致项目始终以调试模式运行

时间:2018-07-18 12:49:11

标签: c# visual-studio nuget nancy

当我构建并运行我的项目时,以下代码

Console.WriteLine("I am running in debug {0}", StaticConfiguration.IsRunningDebug);

debug 模式下产生 true ,在版本中产生 false 模式。然后我使用nuget添加一个包,nuget服务器是我们的本地nuget服务器,它是我们拥有并发布的库。

当我再次运行以上代码时,在 debug 模式下获得 true ,并 true 也处于发布模式。

//Get all non-nancy assemblies, and select the custom attributes
var assembliesInDebug
    = AppDomainAssemblyTypeScanner.TypesOf<INancyModule>(ScanMode.ExcludeNancy)
                                  .Select(x => x.Assembly.GetCustomAttributes(typeof(DebuggableAttribute), true))
                                  .Where(x => x.Length != 0);

//if there are any, then return the IsJITTrackingEnabled
//else if the collection is empty it returns false
return assembliesInDebug.Any(d => ((DebuggableAttribute)d[0]).IsJITTrackingEnabled

);

当我在构建服务器上查看时,好像这些库是在发布模式下构建的。有什么想法可以找到吗?

更新:

我通过在Scott Hanselman网站上找到的代码来运行程序集,以检测它们是否以调试或发布模式构建。由于某些原因,两个下载的DLL均以 debug 模式构建。尽管在构建服务器上调用非常明确地说明了释放模式。

所以我现在假设,如果任何DLL是在调试模式下构建的,则整个构建都是因为调试模式

1 个答案:

答案 0 :(得分:0)

  

添加软件包会使项目始终以调试模式运行

对于nuget软件包nancy,这似乎是一个问题。

Nancy (2.0.0-clinteastwood) is a Debug build on net452

由于它不是正式发布的版本,我们可能需要等待正式版本才能解决此问题,您可以按照自己的评论并查看有关此问题的反馈。

希望这会有所帮助。