我有一个项目,我在项目属性中添加了一个编译符号(MYSYMBOL)。从 VS 构建时,它工作得很好,应用程序也会相应地执行。
其他项目以这种方式定义了各种符号。
从 MSBUILD 构建时,由于某种奇怪的原因,MYSYBOL 被忽略,并且应用程序的行为就像从未设置过一样。
我尝试添加/p:"DefineConstants=MYSYMBOL"
到 msbuild 调用,但随后构建失败,因为它似乎用这个单独替换每个项目的其他符号,所以一个程序集例如需要MYSYMBOL + OTHERSYMBOL
但现在只获取MYSYMBOL
.
这很奇怪,因为在通过 msbuild 构建时,它实际上对那些拥有它的项目使用了 OTHERSYMBOL。
有没有人知道MYSYMBOL
在通过 msbuild 构建时可能导致项目属性不可用的原因是什么?