我有两台笔记本电脑.
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上运行?
我有一个奇怪的问题,我的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) 我实际上在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的例子.
我正在尝试将我的.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'.
控制台窗口上出现的文本的默认颜色是什么?它不是纯白色,而是一些白色阴影。我可以将这种颜色用于富文本框文本吗?
我查看了以下链接以将字符串上传到 azure blob。我的任务要求不允许我将字符串存储为文件。
有没有办法直接从 C# 应用程序将文件写入 Azure Blob 存储?
它在 WindowsAzure.Storage 中使用 CloudStorageAccount,根据此链接已弃用
我正在尝试使用 Azure.Storage.Blobs 库。然而,根据这个微软文档,不再有 UploadString 方法
有什么建议吗?谢谢
当我的表单显示时,我想将默认焦点设置在 C# Winform ToolStripMenuItem 上。这可能吗?如果是这样,我该怎么做?
我的存储库的单元测试存在一些问题,尤其是方法 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>();
我想测试方法的控制器,但我总是NULL在houses.
你能给我一些建议吗?
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) 我需要编写一个测试来验证创建一个对象并传入空参数会抛出一个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”,因为它不是委托类型
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# ×7
.net ×3
winforms ×3
asp.net ×2
log4net ×2
.net-core ×1
asp.net-mvc ×1
c#-4.0 ×1
linq ×1
mocking ×1
ninject ×1
nunit ×1
oracle ×1
quartz.net ×1
unit-testing ×1