Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中为依赖项项目更改一个项目的代码#_C#_Visual Studio_Msbuild_Nuget_Nuget Package - Fatal编程技术网

C# 如何在C中为依赖项项目更改一个项目的代码#

C# 如何在C中为依赖项项目更改一个项目的代码#,c#,visual-studio,msbuild,nuget,nuget-package,C#,Visual Studio,Msbuild,Nuget,Nuget Package,ITNOA 我想学习如何在C语言中改变代码行为和从一个项目到一个依赖项目的代码段# 我认为我的问题模棱两可,所以我试着用另一种语言和生态系统来解释我的问题 在C++中,我们可以编写一些类似下图的库 // My library header file #ifndef MY_LIBRARY_H_ #define MY_LIBRARY_H_ #ifdef ML_HOOSHANG constexpr bool TEST = true; #else constexpr bool TEST = false

ITNOA

我想学习如何在C语言中改变代码行为和从一个项目到一个依赖项目的代码段#

我认为我的问题模棱两可,所以我试着用另一种语言和生态系统来解释我的问题

在C++中,我们可以编写一些类似下图

的库
// My library header file
#ifndef MY_LIBRARY_H_
#define MY_LIBRARY_H_

#ifdef ML_HOOSHANG
constexpr bool TEST = true;
#else
constexpr bool TEST = false;
#endif

#endif
// Main.cpp this is another project

#include <iostream>

#define ML_HOOSHANG 1
#include <MyLibrary.h>

int main()
{
    cout << ::TEST == true ? "Hoooray" : "Nooo" << endl;
}

在这个场景中,如果我有另一个项目想要使用top库,我们可以像下面这样更改top库的行为

// My library header file
#ifndef MY_LIBRARY_H_
#define MY_LIBRARY_H_

#ifdef ML_HOOSHANG
constexpr bool TEST = true;
#else
constexpr bool TEST = false;
#endif

#endif
// Main.cpp this is another project

#include <iostream>

#define ML_HOOSHANG 1
#include <MyLibrary.h>

int main()
{
    cout << ::TEST == true ? "Hoooray" : "Nooo" << endl;
}

如果我想看
Nooo
我们很容易‍‍<代码>#在用户库中未定义ML_HOOSHANG(库参考
MyLibrary

C++中的另一种机制,它在C++社区中与库中非常流行的机制之间进行某种操作,在构建阶段定义一些常数,例如在 AddioCixILIOL定义中,当我们想改变OU的依赖库中的一些基本平台或环境依赖行为时,这是非常有用的方法。r项目

现在,我希望C#和
msbuild
生态系统中有一些类似的机制来提供相同的功能,例如,我有许多项目和库,它们都使用nuget机制引用我们的一个特定库。我希望这个库的不同行为取决于每个项目和库。所以我的问题是如何做到这一点s

如果我想在C#中展示类似的机制,我可以参考《多目标问题的解决方案》或《多目标不同行为方法的机制》

我的问题与两个最重要的例子非常相似,除了它不是多目标问题和那些解决多目标问题的例子,我想做一些类似于他们解决多目标问题所做的事情,但不同。我想做一些类似于他们解决多目标问题所做的事情,解决一个项目中类似的问题来自另一个依赖它的项目

我该怎么做


如何创建具有多个输出的nuget包取决于多个定义常量值?以及如何在
csproj
中到另一个
nuget
取决于常量?

C#has
#define
if
预处理器directives@TheBatman好的,我知道,但我的问题是如何使用这些指令来达到这个目的?