以编程方式在 c# 中获取 msbuild 的 SolutionName



我的项目文件有这个:

<PropertyGroup>
<SolutionName>Foo</SolutionName>
<AssemblyName>$(SolutionName).$(MSBuildProjectName)</AssemblyName>
</PropertyGroup>

我可以使用GetType().Assembly.GetName().Name以编程方式获取AssemblyName

有可能得到SolutionName吗?

否-不是真的。解决方案文件只是visualstudio的一个组织。它没有嵌入到构建的二进制文件中。

作为一种变通方法,您可以在msbuild中获取解决方案名称,然后将其写入文件。

请参阅:https://learn.microsoft.com/en-us/cpp/build/reference/common-macros-for-build-commands-and-properties?view=msvc-160

$(SolutionName)解决方案的基本名称。仅在IDE中构建解决方案时定义。

最新更新