我有一个我已经制作的类库项目.我们称之为ClassA.在ClassA中,我需要访问一些驻留在DLL中的工具(ToolsDLL.dll).
在ClassA中,我将ToolsDLL.dll添加到项目中,并选择ToolsDLL.dll文件复制到输出目录ALWAYS.因此,库构建和编译就好了,在输出目录中,我看到ClassA.dll和ToolsDLL.dll
接下来,我想编写一个应用程序,比如使用ClassA中的方法的App_A.因此,在我的App_A项目中,我添加了对ClassA.dll的引用,以便我可以访问它的命名空间.一切都很好,它建立/编译.
问题是,当我运行App_A并且它到达需要使用ToolsDLL.dll的点时,它会引发异常"无法加载ToolsDLL.dll.我不明白它怎么可能找不到它该DLL因为它与ClassA.dll在同一目录中.
我发现如果我将ToolsDLL.dll放在App_A的输出目录中,它就可以了.那有什么办法吗?有没有什么方法可以将ToolsDll.dll以某种方式与ClassA.dll捆绑在一起.原因是我的客户将编写他们自己的类似于AppA的应用程序,如果他们只需要在他们的项目中引用一个文件而不是多个文件就会很好.
我正在尝试使用我在其他问题上找到的类库.
我对C#,Visual Studio和OOP都很陌生,所以如果这不是正确的问题,请原谅.
我按照链接下载了zip.帮助文件似乎没有包含有关如何使Visual Studio使用库的任何说明.我想我必须告诉它以某种方式使用该库,但我真的不知道该怎么做.或者我可能需要将.dll复制到特定文件夹.我还假设我需要using ...在使用它的.cs文件的顶部.
如何在Visual Studio C#项目中使用此库?
让我澄清一下:
我已经构建了一个类库,可以在几个项目中使用.作为此DLL的一部分,我想通过扩展CookieAuthenticationProvider为Owin Cookies添加一些不同的自定义提供程序,因此我需要包含对Microsoft.Owin.Security.Cookies的引用.这是安全的,因为将使用我的库的较新项目也使用Microsoft.Owin.Security.Cookies.
然而,有些项目比较老,不使用Owin等...如果我把图书馆用于其他用途,它们会爆炸吗?或者,如果我尝试使用提供者,他们只会爆炸(我不会因为他们无法使用它).
我想在我的库中放入一些常用的东西,而不必将每个依赖的DLL引用到每个使用它们的项目中.我很确定我正在做的事情还可以,但是我希望somone可以在我浪费很多时间之前告诉我.如果有一个更好的方式,我全都耳朵.
我正在开发一个Bot Framework应用程序,它使用Microsoft Bot技术与Slack集成.在bot项目中,我试图在用户发送消息时获取用户位置.
我想要实现的是,当用户键入消息"向我显示附近的医院"时,我想让用户使用地理坐标并将其传递给API,该API将返回该位置附近的医院列表.那么关于如何获得用户在Microsoft Bot项目中的当前位置的任何想法?
我尝试使用Geo位置类,但是我无法直接添加类引用,当我为Geo位置类添加外部DLL时,Visual Studio会抛出一些错误.
有没有办法让用户在Bots中获得当前位置?
c# class-library bots botframework azure-language-understanding
我正在构建一个.Net标准库,它构建良好,但在测试时,我得到了这个错误
HResult = -2147024894消息=无法加载文件或程序集'System.Net.Http,Version = 4.1.1.1,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一.该系统找不到指定的文件.来源=图书馆试验
我已经安装了System.Net.Http Nuget Package仍然没有成功.这是一个新项目,所以我必须做错什么
我有一个ASP.NET Core(2.1.5)Web API项目的解决方案,该项目引用了几个.NET Standard 2.0类库项目。
我想对我的应用程序实现一些日志记录,并且我已经使用NLog为Web API项目完成了此操作(实际上,它可以是实现ILogger的任何提供程序)。为此,我在Program.cs中定义了一个静态字段,该字段在运行时初始化,并使用WebHostBuilderExtensions.ConfigureLogging对其进行了配置:
using Microsoft.Extensions.Logging;
public class Program
{
private static readonly Logger logger = NLogBuilder.ConfigureNLog("NLog.config").GetCurrentClassLogger();
// other content ...
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
var webHost = WebHost.CreateDefaultBuilder(args)
.UseStartup(typeof(Startup).GetTypeInfo().Assembly.FullName)
.ConfigureLogging(builder =>
{
builder.ClearProviders();
builder.SetMinimumLevel(LogLevel.Information);
})
.UseNLog();
// other content ...
}
Run Code Online (Sandbox Code Playgroud)
这使我可以在需要时在ASP.NET Core应用程序内的每个类中使用ILogging的 DI :
using Microsoft.Extensions.Logging;
public class Startup
{
public IConfiguration Configuration { get; }
private readonly ILogger<Startup> _logger;
public Startup(IConfiguration configuration, ILogger<Startup> logger) …Run Code Online (Sandbox Code Playgroud) 我们是一个小团队,致力于asp.net Web项目以及服务,这两个项目都依赖于共享类库.
我们希望每个开发人员的类库设置不同(以后再用于生产).在设置中包含敏感信息,例如密码以及主机名.
我们应该如何分配这些设置?
除非我错了,否则web.config/application设置不够好,因为它们不适用于共享类库.
ps:另外,一些变量应该是静态链接的,其余的(如连接字符串)应该是动态的.
我有一个Azure工作者角色和ASP.NET网站之间共享的类库.库中的方法需要从配置中提取值以确定它是否应该发送电子邮件.
在ASP.NET站点中,设置位于web.config中:
<add key="SendEmails" value="true"/>
Run Code Online (Sandbox Code Playgroud)
在Azure辅助角色中,它位于ServiceConfiguration.Cloud.cscfg中:
<Setting name="SendEmails" value="true"/>
Run Code Online (Sandbox Code Playgroud)
我想要做的是让我的类库能够访问任一配置设置,具体取决于它运行的环境.
我有一个Excel文件,它content在类库中有一个Build Action .该库由ASP.NET WebForms应用程序和控制台应用程序引用,并且两者都使用Excel文件.有没有办法我可以编程方式获取此文件的文件路径?
我知道在ASP中我可以这样做:
HttpContext.Current.Server.MapPath(@"bin")
Run Code Online (Sandbox Code Playgroud)
在控制台应用程序中,我可以这样做:
Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)
Run Code Online (Sandbox Code Playgroud)
那些工作,但我想知道是否有更好的,整合的方式从程序集中查找文件并返回路径.
我正在启动Visual Studio代码。我有两个问题:
c# ×10
class-library ×10
.net ×2
dll ×2
app-config ×1
asp.net ×1
azure ×1
azure-language-understanding ×1
botframework ×1
bots ×1
logging ×1
nlog ×1
owin ×1
web-config ×1
wpf ×1