问题标签 [external-assemblies]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 当程序未通过 Visual Studio 启动时,如何在 Visual Studio 中激活单个 DLL 中的断点
我开发了一个 C# 程序,允许用户输入 C# 代码以获得可扩展性。此代码应在 Visual Studio Express 中开发,并将编译成 DLL,然后在主程序中使用。这部分很好。
为了帮助用户调试提供的代码,我想增加在用户 DLL 中激活断点的可能性,即使用解决方案中设置的断点。
如何在最终产品中实现这一点,即程序不是从 Visual Studio 启动的?
.net - 无法加载 System.Web.Mvc,即使它明显存在且版本正确
我得到其中之一:
它继续:
System.Web.Mvc 的正确版本位于 D:\Websites\Reporting\2016-02-18.2\bin 中。我整晚都在与这个项目作斗争,但我似乎无法解决这个问题。对于它的价值,我在 web.config 中也有绑定重定向。
我通常很擅长 dll 地狱类型的东西,但这让我感到困惑,因为据我所知,它似乎在告诉我它找不到位于 bin 目录中的文件并且是它正在寻找的版本为了。
我从这里去哪里?
编辑:我应该指出它在开发中运行良好,当我在开发机器上的某个地方部署项目时它也运行良好。但是当我部署到我们的登台服务器时,我得到了这个。不确定有什么不同。起初我确实遇到了一个问题,即 TFS 构建抓取了错误的 dll(即使我有 copy local = true 并且提示路径在那里它仍然抓取了不正确的版本,我不得不删除旧的 nuget 包文件夹以防止这种情况发生) . 我经常遇到这个错误,但这是我第一次得到它,当我检查它时文件实际上是正确的版本(并且双重、三重和四重检查它)。
c# - c# 如何以编程方式加载具有相同命名空间的外部程序集
我有一个“前端”表单应用程序。
在我的应用程序中,用户可以从不同的目录中选择外部 dll 程序集:
所有外部程序集都具有相同的命名空间和一些共同特征:
每个“插件”都有一个 UserControl.EntryPointView 类和一个静态 PluginInfos 类。
好的
当用户从文件系统中选择插件时,我执行以下操作:
现在用户可以在前端面板中加载他的插件.. 非常好
一段时间后,用户想要加载不同的插件,因此他选择了不同的 dll 文件,基本上我处理旧的 EntryPointView 实例并再次运行 LoadPlugin()。
我想你正在理解我想要实现的目标:各种插件程序集具有相同的名称/命名空间,因为我想通过复制过去的插件项目快速构建新插件 -> 添加/删除/更改功能 -> 构建为 dll ->等等
现在这对我来说似乎是合法的,但我不是很有经验的建筑师,所以我想问一些问题:
- 我做对了吗?
- 有没有更好更简单的方法来实现我的目标?
- 我的建筑下面有什么鬼鬼祟祟的陷阱吗?
- 当用户选择另一个时,有没有办法从内存旧插件程序集中“卸载”?
先感谢您
c# - Roslyn 中是否有方法或方式来枚举给定 C# 项目在编译时使用的所有程序集
我正在开发一个应用程序,用于检测并消除给定 C# 项目中无用的外部引用,例如引用但未使用的包。为此,我需要枚举在编译和运行时使用的所有程序集。对于那些在运行时使用的,我可以使用反射专门调用Assembly.GetReferencedAssemblies()
. 但是对于那些仅在编译时使用的,我认为没有使用 Roslyn 就无法列出它们。请问您对我的问题有任何答案吗?