草庐IT

dynamic-assemblies

全部标签

c# - 我们什么时候不应该创建 Assembly 的强名称? "strong named assembly"的缺点是什么?

我有一个项目,即library.exe。在此我引用了一个程序集(logging.dllver1.0.3.0)并且我给这个程序集起了一个强名称。现在假设我更改了logging.dll中的一个方法并制作了版本1.0.4.0。现在当我用这个新的DLL复制/替换旧的DLL时,我得到了一个异常。我知道异常是因为我更改了DLL的版本号。因为它是一个强名称DLL,除非我重建library.exe,否则不允许使用它。上面的故事我想说的是仅当我们必须将其添加到GAC时,才对程序集使用强名称。如果我们有一个应用程序,其中单个程序集需要更新,请不要使用强命名程序集。我对第1点和第2点的看法是否正确?什么时候

C# 使用 Dynamic 关键字通过字符串访问属性而无需反射

我想写类似下面的东西://Iwillpassinanumberof"properties"specifiedasstringsthatIwantmodifiedstring[]properties=new[]{"AllowEdit","AllowDelete"};//CastingthecomponentI'musingtoadynamicobjectofsomesort?dynamicd=myGridComponent;//Iterateoverthestringsandsetthepropertiesforeach(varsinproperties){//d.s=true;////

c# - 依赖注入(inject)与大规模 ORM : dynamic trouble

我已经开始处理一个MVC3项目,该项目需要来自现有庞大数据库的数据。我的第一个想法是继续使用EF4.1并创建一堆POCO来表示我需要的表,但我开始认为映射会变得过于复杂,因为我只需要一些一些表格中的列。(感谢Steven在评论中的澄清。所以我想我会给MassiveORM一试。我通常使用工作单元实现,这样我就可以很好地解耦所有内容并可以使用依赖注入(inject)。这是我对Massive的一部分:publicinterfaceISession{DynamicModelCreateTable()whereT:DynamicModel,new();dynamicSingle(stringwh

c# - LINQ to Dynamics CRM 在本地查询过滤记录

我使用CRM2011RC(v5)LINQ-to-CRM提供程序编写了一个LinqtoCRM查询。我有一个本地声明的List,我想将其加入CRM实体,并且我希望在CRM服务器上执行查询。一个示例可能会有所帮助:MyObjectmyObject=newMyObject();ListmyAccountsList=newList();myAccountsList.Add(newmyAccount(){AccountNumber="123"};myAccountsList.Add(newmyAccount(){AccountNumber="456"};myObject.ListOfAccount

c# - 类型为 ‘dynamic’ 的表达式在运行时的行为方式是否应与相同运行类型时间的非动态表达式相同?

考虑以下示例程序:usingSystem;publicdelegatestringMyDelegateType(intinteger);partialclassProgram{staticstringMyMethod(intinteger){returninteger.ToString();}staticvoidMain(){Funcfunc=MyMethod;//Scenario1:worksvarnewDelegate1=newMyDelegateType(func);newDelegate1(47);//Scenario2:doesn’tworkdynamicdyn=func;v

c# - 未找到类型或命名空间 "are you missing assembly reference"而所有引用都正确

我正在尝试使用MSBuildWorkspaceclass.我的项目中有所有程序集引用。当我在对象浏览器中打开引用时,我看到了namespace和我尝试使用的类。但是在我接下来的using语句中,使用Microsoft.CodeAnalysis.MSBuild我得到一个Thetypeornamespacename'MSBuild'doesnotexistinthenamespace'Microsoft.CodeAnalysis'(areyoumissinganassemblyreference?)但有趣的是,语法高亮器识别类型名称,这是编译器的提示这是构建日志1>c:\windows\M

c# - System.Linq.Dynamic - 我可以在 WHERE 语句中使用 IN 子句吗

我有动态linqWHERE语句:dataContext.Table.Where("id=0Orid=1Orid=2Or...");我想更改为:dataContext.Table.Where("idIN(0,1,2,...)");但它不起作用。我怎样才能做到这一点以获得更好的性能? 最佳答案 来自Howtouse“contains”or“like”inadynamiclinqquery?//edit:thisisprobablybroken,seebelowids=newint[]{1,2,3,4};dataContext.Table

c# - System.Linq.Dynamic 和 DateTime

我正在使用System.Linq.Dynamic在.NetMVC1.0中执行来自ajax调用的自定义where子句。它适用于字符串、整数等,但不适用于DateTime,我得到异常无法将String与DateTime进行比较。非常简单的测试代码是items=items.Where(string.Format(@"{0}>{1}{2}{1}",searchField,delimiter,searchString));例如,searchField是start_date,数据类型是DateTime,分隔符是"(也没有尝试过),searchString是01-Jan-2009(也尝试过01/01

c# - 尝试运行项目 :The module was expected to contain an assembly manifest 时出错

当我尝试运行该项目时,它显示:Errorwhiletryingtorunproject:couldnotloadfileorassembly'Project.exe'oroneofitsdependencies.Themodulewasexpectedtocontainanassemblymanifest.当我从调试文件夹运行exe时,出现了这个错误:applicationunabletostartcorrectly(0xc000007b)我也重新安装了VisualStudio,但它似乎不起作用! 最佳答案 Themodulewas

c# - BinaryFormatter.ILMerge 后反序列化 "unable to find assembly"

我有一个带有引用dll的C#解决方案(也是具有相同.Net版本的C#)。当我构建解决方案并运行生成的exe时,没有合并exe和引用的dll,一切正常。现在我想将它们合并到一个exe中。我运行ILMerge,一切似乎都正常。我尝试执行exe,它似乎运行良好,直到它尝试反序列化在引用的dll中定义的对象。using(Streamfstream=newFileStream(file_path,FileMode.Open)){BinaryFormatterbf=newBinaryFormatter();returnbf.Deserialize(fstream)asControlledRuleC