我正在用 C# 创建一个类库项目。如何从我的类库中获取将调用方法的项目的名称?
我试过反射:
System.Reflection.Assembly.GetExecutingAssembly()
与
GetCallingAssembly
但是没用。
最佳答案
我也在找这个。我可以从 StackFrame
得到的文件名就像@Maheep 的回答一样,但获取项目名称并不是很直接。
一个。我只是得到了一个简单的解决方案:
- 基于从
StackFrame
中找到的文件名(路径) , 迭代每个父文件夹。 - 查找带有 *.csproj (C#) 的任何文件
- 可选择打开 csproj 文件以确保当前文件
<Compile Include="Folder\File.cs" />
包括在内 - csproj的文件名就是项目名
B.我通过使用预构建宏找到了替代方案 $(ProjectDir)
并在此处访问代码中的结果:What's an easy way to access prebuild macros such as $(SolutionDir) and $(DevEnvDir) from code in C#?
关于c# - 从代码中获取 dll 引用的项目名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208117/