首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式确定PackageReference项

以编程方式确定PackageReference项
EN

Stack Overflow用户
提问于 2022-08-22 03:36:30
回答 1查看 83关注 0票数 0

我的.NET核心6项目的.csproj有以下内容:

代码语言:javascript
复制
<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包特别感兴趣,以防有任何不同。)

更新

我认为问题在于NuGet.CommandLine包。我不认为它被加载到应用程序域了。我怎么能察觉到呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-22 06:56:01

我怀疑问题在于包的NuGet.CommandLine.nuspec有以下内容:

代码语言:javascript
复制
<developmentDependency>true</developmentDependency>

从这里开始来了。

因此,它不包括在运行时依赖项中,因此没有复制到bin/Debug/net6.0目录,因此在应用程序启动时没有加载到AppDomain中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73439970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档