我有一个类库(.NET),它引用了一个Web服务(在某些服务器中,而不是同一解决方案中的项目).类库有一个暴露给COM的类.该类调用Web服务.
当我添加服务引用时,这会将代码添加到类库的app.config中.
我在同一解决方案中也有一个桌面应用程序,仅用于测试目的.当我运行此应用程序时,它会抛出此异常:
无法在ServiceModel客户端配置部分中找到引用合同"ServiceProxy.EventsServices"的默认端点元素.这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素.
可以通过将生成的类库app.config中服务引用的生成代码复制并粘贴到桌面应用程序的配置文件中来解决此异常.
部署时,我只需要部署DLL(从类库构建)而不是桌面应用程序.我需要将服务引用包含在可以由DLL读取的配置文件中.
有什么建议?
谢谢!
我已经达到了这样的程度,即我已经发现了一些对于各种不同项目非常有用的类,它们既可以是现有的.Net的扩展,也可以是全新的.
虽然我可能不会将它们用于每个项目,但我肯定会在某些时候再次使用它们,我的问题是保存这些内容的最佳方法是什么?
我正在考虑将它们编译成.dll,如果有必要我可以简单地引用它,但目前只有大约4个不同的类,我一直认为.dll更适合更多的类.
将它们存储在云中的某个地方是否更简单,以便我可以从几乎任何计算机访问它们?
最适合你的是什么?
编辑:我将使用多台计算机,因为我有时使用大学的计算机设施.
这些类的范围从XNA中的内存管理助手类到常规.Net/C#中的小众函数
类库和命名空间之间的实际区别是什么?我知道它们都用于将类,命名空间等组合在一起.任何人都可以告诉我应该在哪种情况下使用类库以及何时创建新的命名空间.
我正在使用Windows 7中的C#开发.NET Framework 4.0,并尝试从类库中进行日志记录,但它无法正常工作.我正在运行我的应用程序没有错误,但我的日志文件没有任何反应,也没有发生在我的控制台.
所以,这是我的代码:
这是我的App.config档案:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<add key="log4net.config" value="config.log4net"/>
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{ABSOLUTE} [%thread] %level %logger - %message%newlineExtra Info: %property{testProperty}%newline%exception"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG"/>
<levelMax value="FATAL"/>
</filter>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="MyLogFile.txt"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="5"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="true"/>
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="debug"/>
</filter>
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="error"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level %logger - …Run Code Online (Sandbox Code Playgroud) 我知道以前曾有人问过这个问题,但我已经尝试了找到的所有答案,但似乎没有一个对我有用。答案似乎适用于单个显示器,或者需要窗口句柄,或者位于 WPF 应用程序中。我有一个没有 UI 的 C# 类库,它是从不同的语言一起调用的。
我被要求确定 C# 类库中连接到当前 PC 的每个显示器的缩放系数,例如 1、1.25、1.5 等。
我还需要提供每台显示器的分辨率和颜色深度。注册表确实保存了DpiValueWindows 10 中的 ,无论是什么。
Computer\HKEY_CURRENT_USER\Control Panel\Desktop\PerMonitorSettings
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何将它们映射到 aScreen以获得返回的匹配分辨率
System.Windows.Forms.Screen.AllScreens
Run Code Online (Sandbox Code Playgroud)
那么有人有办法获取这些信息吗?
我正在开发一个类库.该库将由另一个程序使用,一个没有源代码的.exe.库文件位置作为参数传递给此exe,例如通过运行:prog.exe lib.dll
我想使用此.exe调试库(使用断点等调试工具).如何使用Visual C#执行此操作?
我找到了一种可行的方法,即创建一个执行的单行程序prog.exe lib.dll.当然有更好的方法吗?
.net debugging class-library visual-studio visual-c#-express-2010
我正在尝试使用我在其他问题上找到的类库.
我对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可以在我浪费很多时间之前告诉我.如果有一个更好的方式,我全都耳朵.
我正在构建一个.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) class-library ×10
c# ×6
.net ×5
app-config ×1
asp.net ×1
debugging ×1
dll ×1
dpi ×1
log4net ×1
logging ×1
namespaces ×1
nlog ×1
owin ×1
web-services ×1