我的项目文件有这个:
<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中构建解决方案时定义。