我一直在阅读MSDN,强名称程序集和相关的Stack Overflow问题中的正确文章,检查程序集的强名称.
第一个问题出现在阅读CSharp411文章.NET程序集常见问题 - 第3部分 - 强名称和签名之后,其中提到了这一点,以及使用强名称的其他问题:
" 无法完全替换.强名称不能阻止黑客删除强名称签名,恶意修改程序集,用自己的密钥重新签名,然后将你的程序集作为你的程序. "
第二个问题旨在找出强命名和其他签名方案之间的差异,例如Authenticode.同样的MSDN文章提到了早期的状态:
"但请注意,强名称本身并不意味着一定程度的信任,例如通过数字签名和支持证书提供的信任. "
我是否尝试使用强命名,而不是创建它?创建强命名是为了避免名字冲突还是一种新的"GAC DLL Hell"?
有人可以解释一下吗?我在互联网上找不到任何东西,一切都在谈论如何以某种方式解决这个问题,但没有什么能说清楚到底是什么.
什么是完全可信的组件,它们如何彼此不同?
我有一个MS认证考试,这是我唯一不理解的话题.
编辑:谢谢你们.现在我对.NET的安全性有了更好的理解.我能够通过认证考试.
对于那里的Maven大师:我正在尝试将非java项目工件(.NET)打包到一个zip文件中.我有两个问题:
如果我将POM中的包装更改为zip <packaging>zip</packaging>,我会收到以下错误消息:[INFO] Cannot find lifecycle mapping for packaging: 'zip'.
Component descriptor cannot be found in the component repository: org.apache.mav
en.lifecycle.mapping.LifecycleMappingzip.好的,没什么大不了的 - 我把它更改<packaging>pom</packaging>为去除在目标目录中创建的无用jar
我的主要问题是我打包成ZIP的文件嵌套在几个目录中,但我需要把它们放到ZIP的顶级目录中.这是我的汇编文件:
<assembly>
<id>bin</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${basedir}/${project.artifactId}</directory>
<includes>
<include>**/Bin/Release/*.dll</include>
<include>**/Bin/Release/*.pdb</include>
</includes>
</fileSet>
</fileSets>
</assembly>
Run Code Online (Sandbox Code Playgroud)
当我运行这个 - 我将获得ZIP文件,但文件将嵌套,从C:\开始,然后是完整路径.为了给你提供想法 - 项目将二进制文件转储到以下结构中
ProjectFoo\ProjectFoo\subproject1\Bin\Release\foo.dll,我需要ZIP\foo.dll
这是程序集插件配置:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>zip</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
Run Code Online (Sandbox Code Playgroud)
也许我只需要使用antrun并执行ant zip任务?
我有一个程序集(作为ReflectionOnly加载),我想找到这个程序集中的所有命名空间,所以我可以将它们转换为自动生成的源代码文件模板的"using"(VB中的"Imports")语句.
理想情况下,我只想将自己限制在顶级命名空间,而不是:
using System;
using System.Collections;
using System.Collections.Generic;
Run Code Online (Sandbox Code Playgroud)
你只会得到:
using System;
Run Code Online (Sandbox Code Playgroud)
我注意到System.Type类上有一个Namespace属性,但有没有更好的方法来收集程序集内的Namespaces,它不涉及迭代所有类型并剔除重复的命名空间字符串?
大卫,很有责任
我有一个大约10个程序集的.net应用程序.把它们作为一个组件放在一起会很好.我该怎么做?
我想像Java应用程序的jar文件.
我无法从GAC卸载程序集(log4net.dll).它给出了以下错误.
"一个或多个申请需要组装".
但是,如果我使用ProcessExplorer搜索程序集,则不会出现任何问题?如何从GAC中删除此程序集?
我有这个奇怪的问题,我无法处理自己.设计为singleton的mvp-project模型中的类会导致InvalidCastException.在此代码行中找到错误源,其中反序列化对象被分配给类的实例变量:engineObject = (ENGINE)xSerializer.Deserialize(str);每当我尝试将一个UserControl添加到Form或不同的UC时,就会出现错误.我所有的UC都有一个特殊的演示者,可以访问上面提到的单例类的实例变量.这是我尝试在某处添加UC时得到的结果:
'System.TypeInitializationException:'MVP.Model.EngineData'的类型初始值设定项引发了异常.----> System.InvalidCastException:[A]引擎无法转换为[B]引擎.键入从A起源 'MVP.Model,版本= 1.0.0.0,文化=中立,公钥=空' 在位置上下文 'LoadNeither'"[...] \应用程序数据\漫游\微软\ VisualStudio的\ 9.0\ProjectAssemblies\uankw1hh01\MVP.Model.dll".B型在位置上下文 'LoadNeither' 从 'MVP.Model,版本= 1.0.0.0,文化=中立,公钥=空' 起源"[...] \应用程序数据\漫游\微软\ VisualStudio的\ 9.0\ProjectAssemblies\u_hge2de01\MVP.Model.dll" ...
所以我不知何故有两个程序集,它们不是从我的项目文件夹访问,而是从VS临时文件夹访问?我google了很多,只发现了这个:IronPython例外:[A]人不能被投射到[B]人.有一个解决方案,但首先它涉及IronPhyton,其次我不知道在我的项目中使用它?
如果你能在这里帮助我,那将是非常好的:-) thx
它被用在几个网站上,似乎都假设读者知道如何使这种类型可用,但我不知道.
示例网站,请参阅第一条评论:http: //blogs.artinsoft.net/mrojas/archive/2008/09/18/newwindow2-events-in-the-c-webbrowsercontrol.aspx
我真的不知道/有答案,知道resx使用c#中的程序集中的文件中的密钥来查找资源值.(或者我可能是无知的).
什么是最快的代码,我可以从资源文件中检索string values或values使用密钥的方式,该资源文件作为资源嵌入到程序集中.我正在为资源文件中的异常存储友好消息,并希望在需要时使用它们.
为此目的是否存在静态类?
我可以使用开源成熟的项目吗?
我有以下方法应该检索加载的本地(在bin文件夹)程序集的列表:
static IEnumerable<Assembly> GetLocalAssemblies()
{
Assembly callingAssembly = Assembly.GetCallingAssembly();
string path = new Uri(Path.GetDirectoryName(callingAssembly.CodeBase)).AbsolutePath;
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
return assemblies.Where(x => !x.IsDynamic && new Uri(x.CodeBase).AbsolutePath.Contains(path)).ToList();
}
Run Code Online (Sandbox Code Playgroud)
但是,程序集列表缺少我需要它的几个程序集.我需要的程序集是管理的(c#.net 4),在项目中引用,并存在于bin文件夹中.
为什么bin文件夹中存在的二进制文件在应用程序启动时不会进入AppDomain?
assemblies ×10
c# ×5
.net ×4
reflection ×2
exception ×1
gac ×1
gacutil ×1
maven-2 ×1
merge ×1
mvp ×1
namespaces ×1
performance ×1
resources ×1
resx ×1
security ×1
strongname ×1
vb.net ×1
zip ×1