Tag: 类库

在C#类库中使用MATLAB MWArray.dll

我正在尝试在C#类库中使用带有Matlab .net Complier的MATLAB构建的.dll,但程序会在每次初始化MWArray.dll的对象时抛出exception,例如: MWNumericArray m = new MWNumericArra(10,10); 例外: System.TypeInitializationException was caught HResult=-2146233036 Message=The type initializer for ‘MathWorks.MATLAB.NET.Arrays.MWNumericArray’ threw an exception. Source=MWArray TypeName=MathWorks.MATLAB.NET.Arrays.MWNumericArray StackTrace: at MathWorks.MATLAB.NET.Arrays.MWNumericArray.op_Implicit(Double[] values) at VolCalc.Vol.CalculateVolatility(Double[] data) InnerException: System.TypeInitializationException HResult=-2146233036 Message=The type initializer for ‘MathWorks.MATLAB.NET.Arrays.MWIndexArray’ threw an exception. Source=MWArray TypeName=MathWorks.MATLAB.NET.Arrays.MWIndexArray StackTrace: at MathWorks.MATLAB.NET.Arrays.MWIndexArray..ctor() at MathWorks.MATLAB.NET.Arrays.MWNumericArray..ctor(Double scalar) at MathWorks.MATLAB.NET.Arrays.MWNumericArray.get__Inf() at MathWorks.MATLAB.NET.Arrays.MWNumericArray..cctor() InnerException: System.Security.SecurityException […]

调试类库

我的ASP.net Web应用程序中有几个类库。 BAM,我一直在调试它们没有问题。 周一早上我收到此错误,我可以点击任何断点: 以下模块是在启用优化或没有调试信息的情况下构建的: 要调试此模块,请将其项目构建配置更改为调试模式。 要禁止此消息,请禁用“如果启动时没有用户代码警告”调试器选项。 有没有人对这是什么造成任何想法? 谢谢!

Web Api 2.2 – 类库项目中的代码优先迁移

我在myVS 2015解决方案中有两个项目。 项目A. Web Api 2.2项目 主项目,其中定义了DBContext类和连接字符串(在web.config文件中) 项目B. class级图书馆计划 项目A作为参考添加 模型和控制器定义 模型inheritance了一个Project A类 创建了一个DBContext类,它从项目AinheritanceDBContext。 public DbSet Planets {get; 组; } 我对上述项目结构背后的想法是: 在项目变大时降低复杂性 使其不那么复杂并增加可读性 在项目A中制作身份validation和授权逻辑 我必须在项目B中实现以下内容: 需要从项目A共享/访问连接字符串 需要先运行代码迁移。 需要知道在将应用程序部署到prod时如何运行代码首次迁移? 问题: 我已启用代码首次迁移并更新了数据库。 我运行没有任何问题,但它没有运行在项目A的web.config中配置的数据库。相反,它添加自己的本地数据库。 我是否应该在项目B中指定连接字符串。 如果是,作为一个类库,我该如何添加配置文件?

如何在VB代码中调用C#扩展方法

我有一个类库,其中包含一些用C#编写的扩展方法和一个用VB编写的旧网站。 我想从VB代码中调用我的扩展方法,但它们没有出现在intelisense中,当我访问该站点时出现编译错误。 我已经获得了所有必需的Import,因为同一名称空间中包含的其他类在Intelisense中看起来很好。 有什么建议 编辑:更多信息,以帮助一些评论。 我的实现看起来像这样 //C# code compiled as DLL namespace xy { public static class z { public static string q (this string s){ return s + ” ” + s; } } } 和我这样的用法 Imports xy ‘…’ Dim r as string = “greg” Dim s as string = rq() ‘ does not […]

VS 2015中的类库 – 构建跨平台库

我可以在安装了Xamarin的VS 2015中创建不同的类库: class级图书馆 类库(Android) class级图书馆(包) 类库(适用于通用应用程序) 类库(便携式) 类库(Xamarin.Forms) 我很想知道每个之间的区别 – 只是一个简短的会做:) 情景 我们的团队目前正在开发一个新项目,我们主要针对多个平台 – 网络和移动(Xamarin)。 虽然我们决定首先关注MVC Web应用程序,但我们希望创建一个包含所有模型和业务类(逻辑)的项目,以便以后可以在我们的项目中使用它。 哪个类库最合适?

在c#中是否有类似于Application_Start的类库

当从另一个程序集实例化时,我想在类库中执行某些代码。 是否有类库的入口点或引导程序? 我认为静态方法Main可以做到这一点,但我错了。 应用程序可能是配置和实例化记录器单例,未处理的exception处理程序等。

类库中的引用不会复制到正在运行的项目bin文件夹中

我有一个代表我的逻辑层的类库。 对于那个库,我为Google.Apis.Analytics.v3添加了一个nuget包 – 它安装了包及其所有依赖项。 我有一个控制台应用程序,它使用该逻辑类库(常规引用)。 一切都写得很好。 问题是在运行时它抛出了一个exception,即找不到Google.Apis.dll。 此DLL是与nuget一起下载的依赖项。 检查BIN文件夹,我发现在类库bin文件夹中存在此DLL,但在控制台应用程序BIN文件夹中却没有(而其他相关的DLL是)。 所以这意味着在编译期间不是所有引用都被复制了。 我在网上搜索过,找到了所有不起作用的解决方法(比如手动编辑项目文件并删除该dll定义中的真正xml行)。 我最终做的是在我的控制台应用程序中添加相同的nuget库 – 它可以工作,但感觉有点脏,而不是应该的方式。 我认为控制台应用程序是客户谁应该从该逻辑类库获取它的服务,应该知道它的东西没有“客户”担心它。 此外,该控制台应用程序不是唯一一个将使用该服务的人,我也计划使用该function的网络应用程序 – 所以我需要将相同的nuget添加到该Web应用程序 – 再次,感觉有点乱…… 只有我吗? 这是正确的方法吗? 我正在考虑编写一个WCF项目来处理这个function – 但这似乎只是在function方面的一些开销,并且可能会减慢我的工作流程,以便在我看来保持“更清洁”。 我只是过度思考了吗? 谢谢

是否有必要在类库中部署XML文件?

我在VS 2012中开发了许多类库项目,用于Windows窗体和Web窗体应用程序。 问题很简单。 我是否需要将DLL文件本身与创建的XML文件一起部署? 例如,类库项目称为DataWare。 在构建时,我在Release文件夹中获得了5个文件(此项目参考entity framework): DataWare.dll DataWare.pdb DataWare.dll.config EntityFramework.dll EntityFramework.xml 我知道“.pdb”文件包含调试信息,因此无需部署。 不考虑“.config”文件。 相反,App.config或Web.config是。 对此,我认为我必须部署DataWare.dll和EntityFramework.dll。 但是,主要的疑问是我是否还需要部署EntityFramework.xml。 关心Jaime

无法在Visual Studio 2012中调试unit testing项目

我找不到类似的post,所以我希望这不是重复的。 我有一个ac#类库,我正在尝试在Visual Studio 2012中运行unit testing。我在我的解决方案中添加了一个新的unit testing项目,并在那里添加了我的主项目作为参考。 我已将我的unit testing项目设置为启动项目。 当我尝试调试时,收到错误消息 无法直接启动具有类库的输出类型的项目。 要调试此项目,请向此解决方案添加可执行项目,该解决方案引用库项目。 将可执行项目设置为启动项目。 根据msdn的演练,我应该在调试时运行测试。 有什么想法吗? 这是我的unit testing代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.VisualStudio.TestTools.UnitTesting; using Common; using Messages; namespace MessageUnitTests { [TestClass] class RegistrationTester { [TestMethod] public void RegistrationRequest_TestConstructorsAndFactories() { RegistrationRequest rr1 = new RegistrationRequest(“myhandle”); Assert.AreEqual(“myhandle”, rr1.Handle); rr1 = new RegistrationRequest(“longHandle-ABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789’|;:’,.=-_+!@#$%^&*()”); Assert.AreEqual(“longHandle-ABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789’|;:’,.=-_+!@#$%^&*()”, rr1.Handle); […]

如何在Visual Studio中调试类库

我正在Visual Studio 2008中的类库(DLL)项目; 用C#编程。 为了测试我的DLL,我刚刚创建了第二个项目,它是一个控制台应用程序,在该项目中我可以引用第一个和运行测试。 有更简单的方法吗? 我可以在我的类库项目中创建另一个文件,其中包含测试,然后以某种方式告诉Visual Studio运行该文件吗? 我知道一种方法是将一个文本文件添加到我的项目中,然后用JScript编写我的测试代码。 然后在调试菜单上的项目设置中,我可以告诉它启动外部程序(JScript)。 然后,我的测试文件test.js的名称进入命令行参数框。 但是,我想知道是否有办法使用C#代码而不是JScript?