Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
当我使用MSBuildWorkspace进行构建时,是否有可用于检测的属性_Msbuild_Roslyn_Csproj - Fatal编程技术网

当我使用MSBuildWorkspace进行构建时,是否有可用于检测的属性

当我使用MSBuildWorkspace进行构建时,是否有可用于检测的属性,msbuild,roslyn,csproj,Msbuild,Roslyn,Csproj,在我的.csproj文件中,是否有一个属性可用于检测由MSBuildWorkspace生成的项目文件(与直接由msbuild生成相反) 基本上,我有一个执行exe的csproj文件 exe将项目文件作为输入,使用MSBuildWorkspace构建它,然后根据编译生成一些附加文件 然而,每次我构建它时,它都会导致csproj文件执行exe,所以我自己就做了一个 我想阻止这种情况发生…事实证明,答案其实很简单 您可以向MSBuildWorkspace.Create提供传递给csproj文件的属性,

在我的
.csproj
文件中,是否有一个属性可用于检测由
MSBuildWorkspace
生成的项目文件(与直接由
msbuild
生成相反)

基本上,我有一个执行exe的
csproj
文件

exe将项目文件作为输入,使用MSBuildWorkspace构建它,然后根据编译生成一些附加文件

然而,每次我构建它时,它都会导致csproj文件执行exe,所以我自己就做了一个


我想阻止这种情况发生…

事实证明,答案其实很简单

您可以向
MSBuildWorkspace.Create提供传递给csproj文件的属性,例如:

var properties = new Dictionary<string, string>
{   
    ["Tools_BuildingInsideGenerator"] = "true"
};

using (workspace = MSBuildWorkspace.Create(properties))
{
}
var属性=新字典
{   
[“Tools\u BuildingSideGenerator”]=“true”
};
使用(workspace=MSBuildWorkspace.Create(属性))
{
}