问题标签 [class-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1615 浏览

.net - 将会话数据传递给类库而不使用一堆构造函数?

我在这里有我的应用程序,实际上每个对象都有一个 lastUpdatedBy 属性。我在这里输入的信息是这个人的用户名,它是从 session("username") 变量中检索的。

如何将此数据传递给类库中的 DAL?

起初我只是将值传递给每个方法,但我认为这很荒谬,每次调用方法时都没有理由这样做。

然后我想如果我只是把它放在每个 DAL 相关类的构造函数中,那会更容易。

然而,即使在任何给定的页面上,我也有大量的 New() 声明,我需要在会话用户名中传递的每一行都转换为字符串。

有没有一种更有效的方法来做到这一点,这样我只能在一个地方声明它,一切都会知道它是什么,我可以将它传递给类库中的类?

0 投票
1 回答
167 浏览

mercurial - Mercurial:.NET 3.5 和 4.0 都存在的类库?

我有一个用 .NET 3.5 编写的相当大的类库,我想升级它以使其也可用于 .NET 4.0。

在这个过程中,我会剔除很多旧垃圾,并重写一些代码以更好地利用新类和 .NET 4.0(如 TPL)中的支持。因此类库会有所不同,但仍然足够相似,以至于可以以相同的方式对两者进行一些错误修复。

我应该如何在 Mercurial 中最好地组织这个类库?如果这很重要,我正在使用 Kiln (fogbugz)。

我在想:

  1. 一个存储库中的命名分支,然后可以将任何错误修复从一个存储库移植到另一个存储库
  2. 一个仓库中的未命名分支,也可以移植,但我觉得这样会显得凌乱
  3. 单独的存储库,必须重新实现错误修复(或使用非水银集成的比较工具来帮助我)

你会怎么做?(我还没有想到的任何其他替代品也是受欢迎的。)

请注意,类库在某些方面会有很大差异,我有一些旧的集合类型代码的残余,这些代码与我将删除的 Linq 类似,以及一些使用它的代码,我将重写以使用 Linq 方法. 因此,仅仅复制项目文件并使用#if NET40..#endif部分是行不通的。此外,类库的 3.5 版本不会获得很多新功能,主要是关键错误修复,因此保持两个版本同样“活跃”并不是真正必要的。因此,所有文件的单独副本就足够了。


@Rudi在这里的回答中编辑,我认为他的意思是:

  1. 创建两个分支(或保留一个“默认”并为另一个路径创建另一个分支,在我的情况下为“默认”=.NET 4.0 和“net35”=.NET 3.5)
  2. 沿着不同的路径发展它们
  3. 当发现一个严重的错误修复,并且这在两个版本中都存在(即在 3.5 和 4.0 中),并且可以在通用代码中修复,因为 3.5 版本不会产生很多新功能,这意味着该错误是最有可能出现在原始版本中(在我分支之前)
  4. 因此,我创建了另一个分支,脱离原始版本(或非常接近它),实现我的错误修复,然后我将此技巧合并到 3.5 和 4.0 分支中以更新它们。

我将不得不考虑这一点。似乎 Mercurial 中的合并会拉入文件,而不是更改,这意味着对需要修复错误的文件所做的任何更改都有被“合并”回早期阶段的风险,但我必须对其进行测试。

0 投票
2 回答
131 浏览

c# - Asp.net 项目无法识别我的类库中的文件夹之一

我正在使用 C# 中的 Visual Studio 2008 开发一个项目,我在项目中添加了类库并设置了相关引用并使用了相关的 using 语句。似乎只有这个文件夹有问题。谁能帮忙?

这是错误消息:

错误 28 命名空间“Forestry.SchoolLibrary”中不存在类型或命名空间名称“域”(您是否缺少程序集引用?) C:\Projects\SchoolofForestry\trunk\Source\School\Account\Presenter\EditAccountPresenter.cs 26 40 学校

这些是我的使用语句:

0 投票
1 回答
1429 浏览

c# - 如何重用 ASP.NET .aspx 或 .ascx 文件?

我知道如果有人想重用某些类(不是 UI),他必须收集所有这些类并将其放入 Visual Studio 类库中,将其构建到一些戴尔并分发这些 dll。在这种方法中,只有一个代码,您只需在一个地方更新代码。

但是 ASP.NET 的标记呢?例如,您有一个 .ascx 文件或一组有关用户管理的 .aspx 文件。如果我想在另一个项目中使用它们,我不得不再次将它们复制到新项目中。通过这个,我有两个很难维护的相同代码。

那么有没有办法像简单的 .dll 一样重用 .ascx 和 .aspx 文件?例如建造它们?

非常感谢, Afshar Mohebbi

0 投票
3 回答
1043 浏览

dll - 为什么这个类库 dll 没有从 app.config 获取信息

我正在开发一个自定义 HttpHandler,为此我编写了一个 C# 类库并编译为 DLL。

作为其中的一部分,我有一些我不想在应用程序中硬编码的目录位置,所以我试图把它放在我以前使用过的 app.config 中。

在此之前,只需构建app.config:

然后在如下代码中获取它:

但是当我编译它并将它放在 web 服务的 bin 文件夹中时,它一直为空shareDirectory,可能是因为它找不到 app.config。那么如何确保包括在内,这样我就不必对我的目录位置进行硬编码?我注意到它基本上在编译后我们会得到 assembly.dll 和 assembly.dll.config 这是 app.config 文件,所以它肯定在 bin 文件夹中!

0 投票
1 回答
803 浏览

c# - ASP.NET 成员资格、角色管理和配置文件是否可用于 C# 类库?

我知道可以在 winform、wpf 或控制台应用程序中使用这些信息。但我宁愿确定哪个用户具有哪些角色正在运行一个特定的方法,所以我可以决定它们并运行不同的代码。

此外在桌面应用程序中。用户如何登录?有什么特殊的winform或wpf登录控件吗?

0 投票
2 回答
498 浏览

vb.net - 调试类库插件时遇到问题

我有一个 Windows 窗体应用程序,我试图在其中使用一个插件(类库)。在代码中,我让它从 dll 文件加载程序集,这意味着我无法调试。此外,我还没有找到如何编译库,所以我不得不使用调试的 dll 版本进行测试。我遇到了一个错误,在该错误中,我创建了一个新对象并通过接口将该数据发送到插件,以尝试从插件中检索空白的平板组框。但是,我没有将参数作为新对象读取,而是设法单步执行了一次代码(不要问我怎么做,我不知道,也无法重复),而且代码似乎正在注册参数为“无”,因此我在主程序中收到空引用错误。

有没有更好的方法来调试这个机制并找出问题所在?关于问题可能是什么的任何想法。当我阅读时,这似乎有点模糊,我不知道如何描述它,但如果有人愿意查看正在发生的事情并且我没有让自己被理解,我愿意现在主持一个连接会议很好。

0 投票
5 回答
13416 浏览

asp.net - 我可以使用类库中的 System.Web.Mvc 吗?

我正在开发一个 ASP.NET MVC 应用程序,但我试图从我的项目中删除除控制器代码之外的所有内容,并将其放入它自己的类库中。

我有一些代码是
Using System.Web.Mvc;

但它似乎并没有让我访问它。我已经System.Web在项目中引用了命名空间。

基本上我在 iActionFilter 和 FilterAttribute 东西上遇到错误。

我错过了什么?

0 投票
1 回答
1911 浏览

c# - c# 类库的每个开发人员的不同配置设置

我们是一个小团队,致力于一个 asp.net web 项目以及服务,这两个项目都依赖于一个共享的类库。

我们希望每个开发人员的类库设置不同(稍后用于生产)。设置中包含敏感信息,例如密码和主机名。

我们应该如何分配这些设置?

除非我错了,否则 web.config/application 设置不够好,因为它们不适用于共享类库。

ps:另外,一些变量应该是静态链接的,其余的(如连接字符串)应该是动态的。

0 投票
3 回答
187 浏览

java - java有代表定时器的类吗?

我想要一个允许我调用的计时器类:

.start()   .getElapsedTime()   .stop()   .reset()

Java是否有这样的类,或者我需要使用我自己的(我已经写过)。

从最佳实践的角度来看,如果存在 Java 类库类,我应该使用它们,但我不确定这个是否存在。

任何人都可以给我一个指向这个类的javadoc的链接,如果它存在的话?