小编stu*_*rtd的帖子

32位winform应用程序不能在64位操作系统上运行

我有两台笔记本电脑.

1)BuildLaptop->我编写应用程序的笔记本电脑.Windows 7旗舰版32位,适用于数据库的Office 2007

2)TestLaptop->测试应用程序.Windows 7旗舰版64位,Office 2007.

我的应用程序包含几个构建为AnyCPU的dll文件,该应用程序也构建为AnyCPU.

当我尝试在TestLaptop上测试我的应用程序时,它给了我一个错误:

Microsoft.ACE.OleDb.12.0提供程序未在您的计算机上注册.

所以我从TestLapTop卸载了Office并在BuildLapTop上安装了Office.

同样的错误.然后我尝试编译所有的dll以及我的应用程序到x64.该应用程序无法启动.然后我尝试只将应用程序编译为x64并将dll编译为anyCPU.错误再次发生.

那么帮助我如何让我的应用程序在TestLapTop上运行?

c# winforms

3
推荐指数
1
解决办法
1614
查看次数

log4net没有登录到数据库

我有一个奇怪的问题,我的log4net设置没有记录任何数据到数据库,也没有引发任何异常来通知问题.我已在一个名为"Log4net.Config"的单独文件中定义了配置设置,并在程序集中引用了它.(请注意,我通过nuget lib安装了Log4net lib)

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
Run Code Online (Sandbox Code Playgroud)

这是日志文件.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="1" />
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString value="Data Source=(local);Initial Catalog=testdb;Integrated Security=True" />
      <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
      <parameter>
        <parameterName value="@log_date" />
        <dbType value="DateTime" />
        <layout type="log4net.Layout.RawTimeStampLayout" />
      </parameter>
      <parameter>
        <parameterName value="@thread" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout"> …
Run Code Online (Sandbox Code Playgroud)

.net log4net log4net-configuration

3
推荐指数
1
解决办法
2722
查看次数

Quartz.net和Ninject:如何使用NInject将实现绑定到我的作业

我实际上在ASP.Net MVC 4 Web应用程序中工作,我们使用NInject进行依赖注入.我们还使用基于Entity框架的UnitOfWork和Repositories.

我们想在我们的应用程序中使用Quartz.net定期启动一些自定义作业.我希望NInject自动绑定我们工作中需要的服务.

它可能是这样的:

public class DispatchingJob : IJob
{
    private readonly IDispatchingManagementService _dispatchingManagementService;

    public DispatchingJob(IDispatchingManagementService dispatchingManagementService )
    {
         _dispatchingManagementService = dispatchingManagementService ;
    }

    public void Execute(IJobExecutionContext context)
    {
         LogManager.Instance.Info(string.Format("Dispatching job started at: {0}", DateTime.Now));
        _dispatchingManagementService.DispatchAtomicChecks();
        LogManager.Instance.Info(string.Format("Dispatching job ended at: {0}", DateTime.Now));
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,在我们的NInjectWebCommon绑定中配置如下(使用请求范围):

     kernel.Bind<IDispatchingManagementService>().To<DispatchingManagementService>();
Run Code Online (Sandbox Code Playgroud)

是否可以使用NInject将正确的实现注入我们的自定义作业?怎么做?我已经阅读了很少关于堆栈溢出的帖子,但是我需要一些建议和一些使用NInject的例子.

asp.net asp.net-mvc ninject quartz.net

3
推荐指数
1
解决办法
3595
查看次数

log4net.Appender.AdoNetAppender connectionType Oracle.ManagedDataAccess.Client

我正在尝试将我的.NET 4.5 Windows服务从非托管切换到Oracle.ManagedDataAccess.dll ODP.NET 4.121.1.0.该应用程序本身工作正常.切换到ODP.NET 4.121.2.0没有帮助.

多年来我一直在将log4net保存到数据库表中,在AdoNetAppender中设置连接类型:

<connectionType value="Oracle.DataAccess.Client.OracleConnection, 
    Oracle.DataAccess, Version=2.112.1.2, Culture=neutral, 
    PublicKeyToken=89B483F429C47342" />
Run Code Online (Sandbox Code Playgroud)

我想使用托管连接,但经过几个小时和谷歌搜索后,我找不到有效的连接类型.

App.Config:

connectionType value="Oracle.ManagedDataAccess.Client, 
         Oracle.ManagedDataAccess, Version=4.121.1.0, 
         Culture=neutral, PublicKeyToken=89b483f429c47342"
Run Code Online (Sandbox Code Playgroud)

输出到textWriterTraceListener包含:

log4net:错误[AdoNetAppender] ErrorCode:GenericFailure.无法加载连接类型[Oracle.ManagedDataAccess.Client,Oracle.ManagedDataAccess,Version = 4.121.1.0,Culture = neutral,PublicKeyToken = 89b483f429c47342] System.TypeLoadException:无法从程序集"Oracle"加载类型"Oracle.ManagedDataAccess.Client". ManagedDataAccess,Version = 4.121.1.0,Culture = neutral,PublicKeyToken = 89b483f429c47342'.

oracle log4net

3
推荐指数
1
解决办法
2172
查看次数

默认控制台窗口的文本颜色

控制台窗口上出现的文本的默认颜色是什么?它不是纯白色,而是一些白色阴影。我可以将这种颜色用于富文本框文本吗?

c# winforms

3
推荐指数
1
解决办法
2097
查看次数

将字符串上传到 Azure Blob

我查看了以下链接以将字符串上传到 azure blob。我的任务要求不允许我将字符串存储为文件。

有没有办法直接从 C# 应用程序将文件写入 Azure Blob 存储?

它在 WindowsAzure.Storage 中使用 CloudStorageAccount,根据此链接已弃用

我正在尝试使用 Azure.Storage.Blobs 库。然而,根据这个微软文档,不再有 UploadString 方法

有什么建议吗?谢谢

c# .net-core azure-blob-storage

3
推荐指数
1
解决办法
2364
查看次数

显示表单时如何设置 C# Winform ToolStripMenuItem 的默认焦点?

当我的表单显示时,我想将默认焦点设置在 C# Winform ToolStripMenuItem 上。这可能吗?如果是这样,我该怎么做?

.net c# winforms c#-4.0

2
推荐指数
1
解决办法
4764
查看次数

WHERE语句在使用It.IsAny的单元测试中不起作用

我的存储库的单元测试存在一些问题,尤其是方法 FindBy()

public IQueryable<T> FindBy(Expression<Func<T, bool>> predicate)
{
   return Entities.Where(predicate);
}
Run Code Online (Sandbox Code Playgroud)

实体是 IDbSet<T> Entities = _context.Set<T>();

我想测试方法的控制器,但我总是NULLhouses.
你能给我一些建议吗?

public override HttpResponseMessage Get()
{
    var houses = Repository.FindBy(y => y.Year == DateTime.Now.Year);

    if (houses != null && houses.Any())
    {
        return Request.CreateResponse(HttpStatusCode.OK, houses);
    }

    const string message = "House: No content";
    return ErrorMsg(HttpStatusCode.NotFound, message);
}
Run Code Online (Sandbox Code Playgroud)

这是我的测试方法

[TestMethod]
public void GetAll()
{   //Arrange
    var houses = new List<House>
     {
         new House {ID = 1, BuildNr = "01", HouseNr = …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net unit-testing mocking

2
推荐指数
1
解决办法
104
查看次数

NUnit 抛出的正确语法

我需要编写一个测试来验证创建一个对象并传入空参数会抛出一个ArgumentNullException.

这就是我所拥有的:

[Test]
public void ThrowsOnNullDependency()
{
    Assert.Throws(() => new FileService(null), Throws.Exception.TypeOf<ArgumentNullException>());
}
Run Code Online (Sandbox Code Playgroud)

我收到以下异常。我看过一些不同的网站和 SO 答案,它们似乎都使用了 NUnit 的不同功能和语法。使用 NUnit3 检查某些内容是否引发异常的正确方法是什么?

CS1503 参数 2:无法从“NUnit.Framework.Constraints.ExactTypeConstraint”转换为“NUnit.Framework.TestDelegate”

CS1660 无法将 lambda 表达式转换为类型“IResolveConstraint”,因为它不是委托类型

.net c# nunit

2
推荐指数
1
解决办法
1283
查看次数

Sha512在c#哈希验证中不返回相等

64个字节是相同的,但==返回false.我猜测编码可能有问题,但我无法弄清楚我做错了什么.有什么想法解决这个问题?

public static byte[] hashSHA512(string unhashedValue)
{
    SHA512 shaM = new SHA512Managed();
    byte[] hash = shaM.ComputeHash(Encoding.UTF8.GetBytes(unhashedValue));
    return hash;

}

public static bool Validate(string enteredValue, byte[] hashedValue)
{
    byte[] hash = hashSHA512 (enteredValue);
    return (hash == hashedValue);
}
Run Code Online (Sandbox Code Playgroud)

我用一个简单的值来测试它,因为它们都调用相同的哈希方法,所以除了编码中的某些东西之外我没有看到它如何失败.我只是使用内置的System.Security.Cryptography.

c#

2
推荐指数
1
解决办法
589
查看次数