我与MEF合作,我正在寻找如何通过MEF找到插件的另一种方式更改插件位置的URL,我想更改此行
Assembly.LoadFrom(@"C:\julia\project\project.Plugin.Nav\bin\Debug\NavPlugin.dll")));
Run Code Online (Sandbox Code Playgroud)
我想删除此URL,因为我需要在另一台机器上部署我的应用程序
这是我的功能:
public void AssembleCalculatorComponents()
{
try
{
//var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
//var container = new CompositionContainer(catalog);
//container.ComposeParts(this);
var catalog = new AggregateCatalog();
catalog.Catalogs.Add(new AssemblyCatalog(Assembly.LoadFrom(@"C:\yosra\project\project.Plugin.Nav\bin\Debug\NavPlugin.dll")));
var container = new CompositionContainer(catalog);
container.ComposeParts(this);
}
catch (Exception ex)
{
throw ex;
}
}
Run Code Online (Sandbox Code Playgroud)
你能帮我么?
谢谢
我试图在我的.NET项目中引用托管DLL,而不将其复制到我的输出目录中.因此,当我的程序运行时,它会从安装的位置运行DLL - 无论在哪里.问题在于这个托管DLL调用非托管DLL.当我尝试引用托管DLL时,它会抛出一个FileNotFound Exception - Could not load file or assembly 'CharacterGen' or one of its dependencies. The system cannot find file specified.当我将输出设置在与我引用的DLL相同的目录中时,一切正常.通常的解决方案是引用从另一个程序集中调用的DLL.但是,我无法从我的托管程序中引用非托管程序集.
有没有办法引用调用非托管DLL的托管DLL?
我在运行时遇到以下错误"从ASP.net 2.0网站调用vb.net 1.1程序集时,加载此程序集将从其他实例生成不同的授权集".知道这个错误背后的原因是什么?
场景是:
有一个Web应用程序在ASP.NET 2.0中构建为WebSite.这个网站上的网页加载了一个2.0 vb.net程序集,用于加载1.1 vb.net程序集.
在加载1.1 dll的程序集时,代码在运行时失败.请帮忙.
我开始在一个新项目中工作,在一个解决方案中有许多组件.我还不熟悉程序集依赖性,并且很难确定哪个程序集依赖于另一个程序集.
您是否知道任何能够显示依赖关系列表或更好的可视化图表的工具?
任何帮助赞赏!
我的应用程序加载位于其执行路径中的所有库程序集,并对包含的类执行预先知道的方法.
我现在需要对引用我的应用程序集的程序集执行相同的操作.这是可能的吗?我应该注意哪些负面影响?
大师集会:
public abstract class TaskBase
{
public abstract void DoWork();
}
LoadAssemblyFromFile("Assembly0001.dll");
Assembly0001.Task1.DoWork();
Run Code Online (Sandbox Code Playgroud)
儿童大会:
public sealed class Task1: MasterAssembly.TaskBase
{
public override void DoWork { /* whatever */ }
}
Run Code Online (Sandbox Code Playgroud) 我想使用文本文件中的编码指令替换字符.
我的文本文件包含以下行:
This is a message
Run Code Online (Sandbox Code Playgroud)
我想更换a -> e,e -> a,s -> 3
所以该行写道:
Thi3 i3 e massega
Run Code Online (Sandbox Code Playgroud)
我尝试了以下代码,但它一次只更改了一行中的一个字符.
import sys
import codecs
def encode():
path = "C:\Users\user\Desktop"
basename = "assgn2part1.txt"
filename = path + "\\" + basename
#file = open(filename, "rt")
f = codecs.open(filename,encoding='utf-8')
contents = f.read()
print contents ,"\n"
newcontents = contents.replace('a','e')
newcontents = contents.replace('s', '3')
print newcontents
f.close()
Run Code Online (Sandbox Code Playgroud) 我正在使用maven程序集插件.在我的pom.xml中,pakaging类型:jar和我不使用maven jar插件.
每当我运行mvn clean包时,它会创建2个jar文件:一个来自maven程序集,另一个是默认创建的(由于打包类型= jar).我只想保留由程序集插件创建的jar文件.怎么做?
在同一源树下使用sbt为多个主类生成单独的jar文件的最佳方法是什么?
项目目录看起来像这样:
project_root/
src/main/scala/
A/*.scala files for main class A
B/*.scala files for main class B
resources/
test/scala/
A/
B/
lib/
project/Build.scala
build.sbt
Run Code Online (Sandbox Code Playgroud)
请注意,A和B都具有相同的基数.Build.scala文件的具体示例会很有帮助.
有人可以解释如何正确制作装配信息吗?
这是我的AssemblyInfo.cs:
[assembly: AssemblyTitle("Title")]
[assembly: AssemblyDescription("Description")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Mycompany")]
[assembly: AssemblyProduct("ProductName")]
[assembly: AssemblyCopyright("Copyright ©")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(true)]
[assembly: Guid("xxxxxx-xxxxx-xxxxx")]
[assembly: AssemblyVersion("1.0")]
[assembly: AssemblyFileVersion("1.0")]
[assembly: NeutralResourcesLanguageAttribute("en")]
Run Code Online (Sandbox Code Playgroud)
这就是它在属性窗口中的显示方式:
您可以看到Description和Language与AssemblyInfo.cs中的不同.
AssemblyCompany也有问题,因为当我在ccleaner中打开启动密钥时,我的程序的公司字段为空...
我究竟做错了什么?
我是ASM框架的新手.我已经在这个ASM框架上工作了一个星期.我在网上看过关于解析类和从头开始生成.class文件的教程.但我无法遵循如何修改ASM中的现有类.
请帮助我.
我无法遵循ClassVisitor,ClassWriter和ClassReader之间的执行流程.
请通过为我提供以下代码的ASM示例来解决我的问题.
public class ClassName {
public void showOne()
{
System.out.println("Show One Method");
}
public static void main(String[] args) {
ClassName c=new ClassName();
c.showOne();
}
}
Run Code Online (Sandbox Code Playgroud)
上述类应修改为:
public class ClassName {
public void showOne()
{
System.out.println("Show One Method");
}
public void showTwo()
{
System.out.println("Show Two Method");
}
public static void main(String[] args) {
ClassName c=new ClassName();
c.showOne();
c.showTwo();
}
}
Run Code Online (Sandbox Code Playgroud)
什么应该是ASM代码来修改它?
我使用ASMifier工具生成代码.但我不知道在哪里应用它.
请帮我.+