0

我想在使用发布与调试时排除一些代码。基本上我有一个用于测试的内部管理部分,我不会偶然进入应用商店:)

理想情况下,我只能做这样的事情:

#IF DEBUG
    <div id="appBar" data-win-control="WinJS.UI.AppBar">
        <button data-win-control="WinJS.UI.AppBarCommand" data-win-options="{id:'cmdAdmin', label:'Admin', section:'global' }">
        </button>
    </div>
#ENDIF
4

2 回答 2

2

这里这里有一个 nuget 包可以启用它,而无需直接将代码添加到您的项目中。拥有它之后,您只需执行以下操作:

<script src="/js/debugSymbols.js"></script> 

if (Debug.isDebugBuild) {

如果您使用 nuget 包,以下是您不需要的完整代码:

(function () {     
   "use strict";
   if (Debug.hasOwnProperty("isDebugBuild")) {
     return;
   }
   var thisPackage = Windows.ApplicationModel.Package.current,
            installedPath = thisPackage.installedLocation.path;
   if (typeof installedPath === "string") {

       if (installedPath.match(/\\debug\\appx$/i)) {

           Object.defineProperty(Debug, "isDebugBuild", {
              get: function () {
                 return true;
              }
           });
       }
   }
})(); 
于 2012-12-04T15:12:56.940 回答
1

我一直在研究它,我发现了以下内容(基于您的 VS 解决方案中的配置管理器)

此外,我正在考虑使用 MSBuild 任务(或 MSBuild 内联任务)来根据当前配置(例如 DEBUG、RELEASE)替换特定文件中的文本。这应该发生在 beforeBuild 事件中。这也可能适用于根据部署设置特定值。

干杯,香草

于 2014-08-07T03:07:30.057 回答