[英]How to programmatically determine the Outlook New Item created from Home Ribbon --> New Items
[英]Determine PackageReference items programmatically
我的 .NET Core 6 项目的.csproj
有这个:
<ItemGroup>
<PackageReference Include="Foo" Version="1.2.3" />
<PackageReference Include="Bar" Version="4.5.6" />
</ItemGroup>
如何以编程方式(在运行时)确定项目引用“Foo”和“Bar”nuget 包,并确定它们的版本?
我试过了,没有成功:
Assembly.GetExecutingAssembly().GetReferencedAssemblies()
Assembly.GetEntryAssembly().GetReferencedAssemblies()
AppDomain.CurrentDomain.GetAssemblies()
(我对NuGet.CommandLine
package 特别感兴趣,以防万一。)
更新
我认为问题是NuGet.CommandLine
package。 我不认为它已加载到 appdomain 中。 我怎样才能检测到它?
AppDomain.CurrentDomain.GetAssemblies() - 应该有帮助
您可以获得 package 版本ImageRuntimeVersion
我怀疑问题是包的NuGet.CommandLine.nuspec
有这个:
<developmentDependency>true</developmentDependency>
来自这里。
所以它不包含在运行时依赖中,因此不会复制到bin/Debug/net6.0
目录中,因此不会在应用启动时加载到 AppDomain 中。
我想解决方案是解析 XML,或者依赖某种dotnet tool
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.