Tag: 组件

如何从未引用的程序集中获取类型?

当类型存在于未引用的程序集中时, GetType()返回null 。 例如,当调用以下内容时,“localType”始终为null(即使使用类的完整命名空间名称): Type localType = Type.GetType(“NamespaceX.ProjectX.ClassX”); 我没有看到任何理由为什么Type.GetType不能从未引用的程序集中检索类型,所以 如何检索未引用的程序集的类型?

用于JavaScript混淆的.Net组件?

是否存在用于混淆JavaScript的.Net组件? 我正在动态生成JavaScript并通过ClientScript.RegisterClientScriptBlock发出。 我想让其他人更难以查看和修改该脚本。 注意事项: 是的,我知道JavaScript混淆只会给认真的开发人员带来不便。 我打算添加(非混淆)版权声明。 生成JavaScript的我的C#程序是我真正的增值。 该来源将无法供观众使用。 不过,我想模糊它创建的function和数据。 谢谢!

在Windows窗体上查找组件c#(不是控件)

我知道如何查找和收集Windows窗体中使用的所有控件的列表。 像这样的东西: static public void FillControls(Control control, List AllControls) { String controlName = “”; controlName = control.Name; foreach (Control c in control.Controls) { controlName = c.Name; if ((control.Controls.Count > 0)) { AllControls.Add(c); FillControls(c, AllControls); } } } 但是,此函数不会检索表单底部的非可视组件,如HelpProvider,ImageList,TableAdapters,DataSet等。 有没有办法获得这些组件的列表? 编辑: 感谢@HighCore指示我在类似的函数中使用System.ComponentModel.Component确实为我提供了一个包含ImageList,Help Provider和BindingSource等组件的列表。 但是,我仍然从这个列表中错过了TableAdapters和DataSet。 我想因为那些直接从Objectinheritance。 拜托 不要将我的旧post推荐给我,这些post显示了与我类似的function,并且只获取控件列表。 编辑:为什么负面投票? 这个问题以前从未得到过回答!

C# – 无法从ResourceManager获取字符串(来自附属程序集)

我正在开发一个可本地化的应用程序。 在我的“本地”资源文件中,我使用了默认使用的语言(英语),如果可能的话,我加载用户的首选项和文化,并加载翻译成语言的字符串。 所以我做了什么: private static CultureInfo _culture = CultureInfo.CurrentUICulture; private static ResourceManager _manager; private static void ToNeutralCulture() { while (!_culture.IsNeutralCulture) { _culture = _culture.Parent; } } private static void LoadCulture() { ResourceManager manager = Properties.Resources.ResourceManager; try { ToNeutralCulture(); string assembly = Assembly.GetCallingAssembly().GetName().CodeBase; string assemblyDir = Path.GetDirectoryName(assembly); string assemblyName = Path.GetFileNameWithoutExtension(assembly); string resourceFileName = string.Format(CultureInfo.InvariantCulture, @”{0}\{1}_{2}.dll”, […]

C# – 什么是组件,它通常如何使用?

什么是组件类,我通常在哪里使用它? 当我在VS.NET 2008中向项目添加新项目时,其中一个选项是添加组件。 我甚至不确定我理解组件是什么 – 但我肯定想了解更多关于它们的信息。 有人可以向我解释一下,或者让我指向一个可以帮助我的在线教程。

如何在不使用Assembly.Load的情况下加载程序集?

可以通过将程序集流式传输到内存中来实现吗? 如果是这样,那怎么做呢? 原因: 我不想锁定加载的DLL。 我希望能够动态加载,更改代码,再次编译和重新加载它

在SQL Server表中转储SSIS USER变量名称和值

目的:获取SSIS包中的所有用户变量,并在SQL Server 2008表中写入变量名称及其值。 我尝试了什么:我有一个小的“脚本任务 ”工作来显示变量名称及其值。 该脚本如下。 using System; using System.Data; using Microsoft.SqlServer.Dts.Runtime; using System.Windows.Forms; namespace ST_81ec2398155247148a7dad513f3be99d.csproj { [System.AddIn.AddIn(“ScriptMain”, Version = “1.0”, Publisher = “”, Description = “”)] public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase { #region VSTA generated code enum ScriptResults { Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success, Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure }; #endregion public void Main() { Microsoft.SqlServer.Dts.Runtime.Application app […]

并非所有程序集都从bin文件夹加载到AppDomain中

我有以下方法应该检索加载的本地(在bin文件夹)程序集的列表: static IEnumerable 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(); } 但是,程序集列表缺少我需要它的几个程序集。 我需要的程序集是管理的(c#.net 4),在项目中引用,并存在于bin文件夹中。 为什么bin文件夹中存在的二进制文件在应用程序启动时不会进入AppDomain?

C#创建一个控件数组

是否可以创建一个控件数组? 如果数组中的多个控件共享同一个事件处理程序,有没有办法获取控件的索引?

在编译aspx页面的动态程序集期间,不会触发AssemblyResolve事件

这个真的在惹恼我。 开始: 我的目标是在运行时加载包含嵌入式aspx,ascx等的程序集。我还想要的是不要将程序集文件锁定在磁盘上,以便我可以在运行时更新它而无需重新启动应用程序(我知道)这将使以前的版本加载)。 为此,我编写了一个虚拟路径提供程序来完成这一操作。 我订阅了CurrentDomain.AssemblyResolve事件,以便将框架重定向到我的程序集。 问题是,当框架尝试编译aspx页面的动态程序集时,我得到以下内容: 编译器错误消息:CS0400:在全局命名空间中找不到类型或命名空间名称“Pages”(您是否缺少程序集引用?) 源错误:公共类app_resource_pages__version_1_0_0_0__culture_neutral__publickeytoken_null_default_aspx:global :: Pages._Default,System.Web.SessionState.IRequiresSessionState,System.Web.IHttpHandle 我注意到,如果我使用Assembly.Load(AssemblyName)或Assembly.LoadFrom(filename)加载程序集,我不会得到上述错误。 如果我用Assembly.Load(byte [])加载它(以便不锁定它),抛出exception但是我的AssemblyResolve处理程序在被调用时正确地返回程序集(它被调用一次)。 所以我猜测它在框架解析asp标记时调用一次,而不是在它尝试为aspx页面创建动态程序集时调用。