我正在处理几个不同的.sln文件(在iOS中连接到他们自己的.csproj文件),具体取决于我想在Visual Studio的解决方案中运行的项目。为了处理不同的项目,我需要一种方法来了解.sln(或.csproj)文件当前是什么"运行"。
目前我的项目已填充Condition
s:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugAppNameOne|iPhone' ">
我想要做的是替换Condition
而不是以某种方式取出正在运行的.sln或.csproj文件的名称。我的问题是,这是可能的,如果是这样,我怎么能得到他们的名字?我在思考的是这些方面:
的.sln:
<PropertyGroup Condition=" ’$(TheSlnName)|' == 'SolutionName.AppNameOne.sln'">
的.csproj:
<PropertyGroup Condition=" ’$(TheCsProjName)|' == 'SolutionName.iOS.AppNameOne.csproj'">
答案 0 :(得分:1)
对于.sln
个文件,您可以使用以下msbuild宏来确定您已打开的解决方案:
$(SolutionFileName): MySolution.sln
$(SolutionPath): D:\MyProjects\MySolution.sln
$(SolutionDir): D:\MyProjects\
$(SolutionName): MySolution
你应该可以使用:
<PropertyGroup Condition=" '$(SolutionFileName)' == 'SolutionName.AppNameOne.sln'">
对于.csproj
个文件,您可以使用以下宏:
$(ProjectFileName): MyLogic.csproj
$(ProjectPath): D:\MyProjects\MyLogic\MyLogic.csproj
$(ProjectDir): D:\MyProjects\MyLogic\
$(ProjectName): MyLogic
你应该可以使用:
<PropertyGroup Condition=" '$(ProjectFileName)' == 'SolutionName.iOS.AppNameOne.csproj' ">
您可以通过查看项目属性,选择Build Events选项卡,然后单击“Edit Pre-Build ...”或“Edit Post-Build ...”来查看项目可用的MSBuild宏。在出现的窗口中,选择“宏&gt;&gt;”按钮,您将能够看到您可以使用的相关MSBuild宏信息以及它将评估的内容。
您还可以查看MSBuild宏documentation here。