我有两个DLL和我的申请。我的应用程序引用DLL1和DLL1引用DLL2,如下所示:
应用程序-> DLL1 -> DLL2.
DLL1包含一个在DLL2中返回类型的方法。此方法在我的应用程序中是不可用的,因为我的应用程序没有对DLL2的引用。这是我的代码:
// My Application
DLL1.DoSomething(""); <-- The type 'MyType' is defined in an assembly that is not references.
// DLL1
public static MyType DoS
我最近遇到了一个问题。我想使用C#调用QTP的对象存储库Lib,但它不起作用。代码:
REPOSITORYUTILLib.ObjectRepositoryUtil or = new REPOSITORYUTILLib.ObjectRepositoryUtil();
or.Load(@"C:\Repository.tsr");
or.GetAllObjects();
但是当程序运行到or.GetAllObjects();时,我收到了一个System.InvalidCastException,我在这里没有看到任何强制转换操作,我怎么会得到这样的异常呢?有谁有什么想法吗?谢谢。
下面
我做了一个小的测试应用程序来演示我试图解决的问题。我有一个插件架构,其中插件派生自一个接口。
下面是接口代码:
namespace Test
{
public interface ITestBase
{
int LifeTheUniverseAndEverything();
bool Pessimist();
bool Optimist();
}
}
这将构建为主程序解决方案和插件解决方案引用的.dll。
下面是插件代码:
namespace Test
{
public class TestPlugin : ITestBase
{
publi
我有一个C#控制台应用程序,我喜欢通过用户输入选择一个特定的DLL库,该库在控制台应用程序的运行时加载和执行。这有可能吗?
因此,例如,我可能有两个dll库,具有相同的静态类和操作名称,如下所示:
public static class CoreStrategy
{
public static Action<List<Quote>> strategyQuoteBuffer = new Action<List<Quote>>(quoteList =>
{
Console.WriteLine("I am
我在外部DLL中有C#类,我无法修改该类。库中的两个类定义如下,我需要在Powershell脚本中使用这些类。
public class MyCsharpClass<TKey, TValue> : ISomeBaseClass<TKey, TValue>
{
public MyCsharpClass(string path, ISomeBaseTranslator<TKey, TValue> translator)
{
...
}
}
...
...
public class MyByteTranslatorCShar
我在.NET框架中创建了一个dll,现在在另一个项目中使用它。我找到了两种使用我的dll的方法。
通过引用项目引用中的dll并创建实例
利用反射
我的DLL
namespace MathHelper
{
public class Helper
{
public int add(int a, int b)
{
return a + b;
}
}
}
我的计划
static void Main(string[] args)
{
//Using re
我试图弄清楚如何在运行时导入和使用.dll应用程序中的C#。使用Assembly.LoadFile(),我设法让我的程序加载dll (这个部分肯定是工作的,因为我可以用ToString()获取类的名称),但是我无法在控制台应用程序中使用'Output‘方法。我正在编译.dll,然后将它移到控制台的项目中。在CreateInstance和能够使用这些方法之间是否有额外的步骤?
这是我的DLL中的类:
namespace DLL
{
using System;
public class Class1
{
public void Output(str
我正在统一IoC中实现程序集的动态加载和注册。
鉴于这些课程:
public interface IA { }
public interface IB { }
public interface IC { }
public class A : IA { }
public class B : IB
{
public B(IA a) { }
}
public class C : IC
{
public C(IB b) { }
}
这个配置是:
var assembly = Assembly.LoadFile(@"path\MyAsm.dll");
containe
我正在尝试构建一个方法来检查所有非system的dll,并从FTP下载它们。例如,我有一些devxpress DLL引用和newtonsoft (Json.net)。问题是,当我试图得到列表时,我只得到其中的16个,并且有更多的参考列表。
List<string> moduli = new List<string>();
Assembly a = typeof(frmPostavkeDokumenata).Assembly;
Assembly assem =Assembly.GetEntryAssembly();
foreach (AssemblyName an in
我想将C#函数存储在DLL文件中,然后用参数调用该函数。到目前为止,我已经能够用以下代码将函数存储在DLL文件中:
var codeProvider = new CSharpCodeProvider();
var icc = codeProvider.CreateCompiler();
var parameters = new CompilerParameters();
parameters.GenerateExecutable = false;
parameters.OutputAssembly = "Sum.dll";
icc.CompileAssemblyFromSour
1.摘要
I have a UWP project in cross platform Xamarin(with Microsoft Visual Studio Enterprise 2019 Version 16.6.0) solution, library using .Net Standard 2.0, UWP using latest Windows 10 version 1903(build 18362), and it can run successfully when debug (also Android project can debug successfully in re
如何运行从另一个dll获取参数的方法?我从另一个dll导入一个UserControl,如下所示,但是我现在要么需要在该UserContol中调用一个方法,要么就能够设置包含在该类中的变量。
负载UserControl
UserControl ucSupportButton =
new Bootstrapper().LoadUserControl("SC.Support.dll", "Button");
Bootstrapper中使用的代码
public UserControl LoadUserControl(string dllName, st
你好,我目前正试图解决一个有关我正在开发的软件的问题。
我想要达到的目标:从没有WriteAllBytes的byte[]加载一个dll到内存流中(这意味着我想避免接触磁盘)。
我试过很多方法,但都失败了。我认为我成功地将byte[]加载到内存中,但是我编译的可执行文件仍然在寻找从磁盘加载它而不是从内存加载它。如何使它从内存中加载以便能够被利用?
,让我们进入代码.
WebClient client = new WebClient();
string b64strbin = client.DownloadString("URL OF A FILE WHERE IT CONTAINS BY
如何使用C#从用c++编写的非托管dll和exe中读取文件信息,如标题、描述、版权等? 我知道如何使用MetadataLoadContext从托管代码中获取这些信息,但是加载C++ Exe/DLL会抛出异常:System.BadImageFormatException: This PE image is not a managed executable。