【发布时间】:2015-09-19 10:49:49
【问题描述】:
我有一个实用程序库,用于在 C# 中做一些常见的事情。
我想在项目根目录中返回一个 JSON 文件中的 Assets 数组,但是根据父项目是 Debug 还是 Release,结果会有所不同。
例如:
{ProjectRoot}\Assets.json
{
"debug": {
"css": [
"/public/vendor/bootstrap/3.3.5/css/bootstrap.min.css"
],
"js": [
"/public/vendor/bootstrap/3.3.5/js/bootstrap.min.js",
]
},
"release": {
"css": [
"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"
],
"js": [
"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js",
]
}
}
然后我通过检查 DEBUG 或 RELEASE 并将正确的列表返回到 ViewBag 来使用它。
我已经在几个项目中手动执行此操作,并且我即将开始另一个项目。我想将它添加到实用程序项目中。但是,在库中设置 #if DEBUG 将为库构建返回正确的文件,而不是为父项目返回正确的文件。
是否有任何方法可以在没有另一个预处理器包装的情况下获取父项目构建是调试还是发布?
为了简单起见,我只想设置 ViewBag.Assets = MyLib.Assets,而不是在我的父项目中检查 Debug 或 Release 并包装 ViewBag 设置。
这可能吗?
【问题讨论】:
标签: c# asp.net asp.net-mvc msbuild