在我的.csproj
文件中,是否有一个属性可以用来检测MSBuildWorkspace
正在构建的项目文件(与直接msbuild
相对)?
基本上,我有一个执行exe文件的csproj
文件。
exe将项目文件作为输入,使用MSBuildWorkspace进行构建,然后根据编译生成一些其他文件。
但是,每次构建它时,都会导致csproj文件执行exe-因此,我将自己设为fork bomb!
我想阻止这种情况...
答案 0 :(得分:1)
答案实际上很简单!
您可以为MSBuildWorkspace.Create
提供传递给csproj文件的属性,例如:
var properties = new Dictionary<string, string>
{
["Tools_BuildingInsideGenerator"] = "true"
};
using (workspace = MSBuildWorkspace.Create(properties))
{
}