小编mjb*_*mjb的帖子

System.IO.FileLoadException:无法加载文件或程序集'System.Data.SQLite

(这是一个重复的问题,已在stackoverflow.com中提出.我已经阅读了答案.我已经尝试了解决方案,但这并没有解决我的问题.我将解释我的问题是什么以及有什么问题我做完了).

这是我的问题:

我的应用程序使用System.Data.SQLite.DLL.我引用它并在我的计算机中正常运行,但它无法在另一台计算机上运行.这是错误消息:

System.IO.FileLoadException:无法加载文件或程序集'System.Data.SQLite,Version = 1.0.88.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139'或其依赖项之一.应用程序无法启动,因为它的并排
配置不正确.有关更多详细信息,请参阅应用程序事件日志或使用命令行sxstrace.exe工具.
(来自HRESULT的异常:0x800736B1)文件名:'System.Data.SQLite,Version = 1.0.88.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139'---> System.Runtime.InteropServices.COMException(0x800736B1):应用程序失败开始,因为它的并排
配置不正确.有关更多详细信息,请参阅应用程序事件日志或使用命令行sxstrace.exe工具.
(来自HRESULT的异常:0x800736B1)SimPB.config.PrepareDatabase(),位于SimPB.Program.Main()的SimPB.config.InitializeProgram()

我的电脑运行Windows 7 32位,Visual Studio 2010.

另一台计算机也运行Windows 7 32位,没有安装Visual Studio.

我尝试过的:

尝试1:确保使用Release + x86构建应用程序,并使用目标框架构建应用程序:.NET Framework 2.0.完成.

尝试2:确保使用正确版本的System.Data.SQLite引用该应用程序,该版本是x86 + .Net Framework 2.0(sqlite-netFx20-binary-Win32-2005-1.0.88.0).完成

尝试3:在App.config上尝试这些代码:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

还有这个

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
  <runtime>
    <NetFx40_LegacySecurityPolicy enabled="true"/>
  </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

还有这个

<?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud)

c# system.data.sqlite winforms

14
推荐指数
2
解决办法
7万
查看次数

无法更改目标框架?

我今天早上遇到了这个问题,我无法改变开源项目的目标框架.Target框架选项下拉列表处于非活动/禁用状态.如何使其与.NET Framework 2.0一起使用?

这是下载链接:https://dev.mysql.com/downloads/connector/net/6.10.html

顺便说一句,可能重复的问题?已经链接的"另一个问题"是VS2008.我正在使用VS2017,今天的日期是2018年.相关的问题大约是10年.事情在10年内发生了很大的变化.该链接中提供的解决方案几乎不适用.

无法更改目标框架

c#

12
推荐指数
2
解决办法
5912
查看次数

比String.Replace()更快

有没有比这样做更快的其他方法?

private void EscapeStringSequence(ref string data)
{
    data = data.Replace("\\", "\\\\"); // Backslash
    data = data.Replace("\r", "\\r");  // Carriage return
    data = data.Replace("\n", "\\n");  // New Line
    data = data.Replace("\a", "\\a");  // Vertical tab
    data = data.Replace("\b", "\\b");  // Backspace
    data = data.Replace("\f", "\\f");  // Formfeed
    data = data.Replace("\t", "\\t");  // Horizontal tab
    data = data.Replace("\v", "\\v");  // Vertical tab
    data = data.Replace("\"", "\\\""); // Double quotation mark
    data = data.Replace("'", "\\'");   // Single quotation mark
}
Run Code Online (Sandbox Code Playgroud)

- 编辑(添加说明) - …

c# performance

9
推荐指数
1
解决办法
2866
查看次数

smtp.live.com - 邮箱不可用.服务器响应为:5.7.3请求的操作中止; 用户未经过身份验证

我已经在stackoverflow上阅读了其他答案.但这些解决方案都不适合我.

我正在尝试通过live.com发送电子邮件,但无法使用它.

错误消息:

mailbox unavailable. The server response was: 5.7.3 requested action aborted;
user not authenticated
Run Code Online (Sandbox Code Playgroud)

代码:

MailMessage mail = new MailMessage();
mail.From = new MailAddress("email@live.com");
mail.To.Add("someone@someone.com");
mail.Subject = "hello";
mail.Body = "awefkljj kawefl";
mail.IsBodyHtml = false;

SmtpClient smtp = new SmtpClient("smtp.live.com", 587);
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("email@live.com", "password");
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)

您是否可以使用上述代码发送电子邮件?

它在去年之前有效,但它现在已经不复存在了.

什么改变了?

c# email

8
推荐指数
1
解决办法
1万
查看次数

这种异步方法缺少"等待"运算符并将同步运行

我的程序有以下声明的3个警告:

这种异步方法缺少"等待"运算符并将同步运行.考虑使用'await'运算符等待非阻塞API调用,或'await Task.Run(...)'在后台线程上执行CPU绑定工作.

试着告诉我什么警告?我该怎么办?

这是我的代码:它是否使用多线程运行?

static void Main(string[] args)
{
    Task task1 = new Task(Work1);
    Task task2 = new Task(Work2);
    Task task3 = new Task(Work3);

    task1.Start();
    task2.Start();
    task3.Start();

    Console.ReadKey();
}

static async void Work1()
{
    Console.WriteLine("10 started");
    Thread.Sleep(10000);
    Console.WriteLine("10 completed");
}

static async void Work2()
{
    Console.WriteLine("3 started");
    Thread.Sleep(3000);
    Console.WriteLine("3 completed");
}

static async void Work3()
{
    Console.WriteLine("5 started");
    Thread.Sleep(5000);
    Console.WriteLine("5 completed");
}
Run Code Online (Sandbox Code Playgroud)

c# asynchronous async-await

8
推荐指数
3
解决办法
2万
查看次数

什么列类型的MySQL将作为C#中的System.Guid返回

可能重复:
我应该如何在MySQL表中存储GUID?


VARCHAR将返回,因为string
BLOB将返回,byte[]
但是,哪个列类型的MySQL将作为System.Guid在C#中返回
感谢.

编辑:我找到答案

感谢DaveHogan,它给了我关于ORM(对象关系映射)的线索
我开始寻找有关Connector/NET所做的数据类型转换(映射)的信息.我正在使用MySQL Dot Net Connector(Connector/NET)
,连接器/ NET执行不同的3种情况.

以下是我发现的内容:

第一种情况:
从Connnector/NET 6.1.1开始,CHAR(36)将自动转换为C#中的System.GUID,BINARY(16)将被视为System.Byte [].

第二种情况:
如果使用较旧的Connector/NET,当值传递给C#时,BINARY(16)将自动转换为System.GUID,而CHAR(36)将被视为System.String.

第三种情况:
如果您使用较新的Connector/NET(比6.1.1更新),并且如果您想使用BINARY(16) AS System.GUID(默认情况下不是),则必须添加连接选项Old Guids =连接字符串中为true.
例:

server=localhost;user=root;password=qwerty;database=test;old guids=true;

通过这个,CHAR(36)将被转换为System.String和BINARY(16) = System.GUID

阅读更多关于Old Guids的连接选项的信息:
MySQL 5.6参考手册:21.2.6.连接器/网络连接字符串选项参考

------------------------------------------- ---------------------------
额外信息:
如何将System.GUID插入MySql数据库
----------- -------------------------------------------------- ---------
这是一个示例表,我们将插入System.GUID:

CREATE TABLE `testdata` (
  `id` int(10) unsigned NOT NULL …

c# mysql

7
推荐指数
1
解决办法
7617
查看次数

如何将所有httpErrors重定向到自定义URL?

这些是web.config中的代码:

<system.web>
  <customErrors mode="Off" >
  </customErrors>
</system.web>
<system.webServer>
  <httpErrors errorMode="Custom" existingResponse="Replace">
    <clear />
    <error statusCode="404" prefixLanguageFilePath="" path="/ResourceNotFound" responseMode="ExecuteURL" />
    <error statusCode="500" prefixLanguageFilePath="" path="/ResourceNotFound" responseMode="ExecuteURL" />
    </httpErrors>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

以上设置仅重定向404和500的httpError.

但不是手动添加400,401,403 ....等所有错误代码... ...

我们可以设置它将所有错误重定向到相同的URL而不键入所有错误代码吗?

<error statusCode="400" .....
<error statusCode="401" .....
<error statusCode="403" .....
<error statusCode="404" .....
<error statusCode="xxx" ....
Run Code Online (Sandbox Code Playgroud)

asp.net web-config c#-4.0

7
推荐指数
2
解决办法
2万
查看次数

.NET Framework 2.0中不能引用.NET Standard 2.0

我收到一个错误:

'c:......\xxxx.csproj'目标'.NETStandard,Version = v2.0'.它不能被针对".NETFramework,Version = v2.0"的项目引用.WindowsFormsApp1

怎么解决?

c# .net-2.0 .net-standard

6
推荐指数
1
解决办法
3839
查看次数

Visual Studio for Mac - 配置不针对设备。您的配置未针对有效的 iOS 设备

错误信息:

配置不针对设备。
您的配置未针对有效的 iOS 设备

我想将 iPhone 应用程序发布到 App Store。因此,我尝试通过选择顶部主菜单栏来执行存档以发布 iPhone 应用程序:

构建 > 存档以供发布

我已经从顶部主菜单栏的下拉菜单中选择了一个设备。但我仍然收到上述错误消息。我应该怎么办?

我没有实体 iPhone。我只用 iPhone 模拟器。是否必须使用真机来签名App并提交到App Store?

更新

不再需要物理 iOS (iPhone) 设备来存档应用程序并将其提交到 AppStore。

iphone app-store visual-studio-mac

5
推荐指数
2
解决办法
5020
查看次数

无法通过Hotmail/live.com/outlook.com发送电子邮件

我已经在stackoverflow上阅读了其他答案.但这些解决方案都不适合我.

我正在尝试通过live.com发送电子邮件,但无法使用它.

错误消息:

mailbox unavailable. The server response was: 5.7.3 requested action aborted;
user not authenticated
Run Code Online (Sandbox Code Playgroud)

或错误信息:

System.Net.Mail.SmtpException: Service not available, 
closing transmission channel. 
The server response was: Cannot connect to SMTP server 65.55.176.126 
(65.55.176.126:587), NB connect error 1460
Run Code Online (Sandbox Code Playgroud)

代码:

MailMessage mail = new MailMessage();
mail.From = new MailAddress("email@live.com");
mail.To.Add("someone@someone.com");
mail.Subject = "hello";
mail.Body = "awefkljj kawefl";
mail.IsBodyHtml = false;

SmtpClient smtp = new SmtpClient("smtp.live.com", 587);
smtp.EnableSsl = true;
smtp.Credentials = new NetworkCredential("email@live.com", "password");
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)

您是否可以使用上述代码发送电子邮件?
它在去年之前有效,但它现在已经不复存在了.
我不确定live.com电子邮件服务器有什么变化.
应该应用哪些新设置或参数?

c# email hotmail

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

如何使用 C# 备份特定的 MySQL 表

我一直在使用C# 中的MySqlBackup.dll备份 MySQL 表。我不知道如何备份 MySQL 模式中的特定表。如何使用 C# 仅备份一两个特定表?

c# mysql mysql-backup mysqlbackup.net

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

Xamarin iOS,在后面的代码中添加 WKWebView,部署后没有任何反应

我正在尝试在后面的代码中添加 WKWebView 组件。在iPhone模拟器中构建部署并运行后,只有一个白色的空白页面,没有其他内容。我做错了什么。下面是我的代码:

using System;
using WebKit;
using UIKit;
using Foundation;

namespace bbbb
{
    public partial class ViewController : UIViewController
    {
        WKWebView wk = null;

        protected ViewController(IntPtr handle) : base(handle)
        {
            // Note: this .ctor should not contain any initialization logic.
        }

        public override void LoadView()
        {
            base.LoadView();
            NSCoder nc = new NSCoder();
            wk = new WKWebView(nc);
            View.Add(wk);
        }

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.
            string url …
Run Code Online (Sandbox Code Playgroud)

c# ios xamarin wkwebview

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

sb = new StringBuilder(1024*1024*1024)>'System.OutOfMemoryException'被抛出

我需要在循环中附加大量字符串,这将创建一个非常长的字符串.
1GB应该足够长以存储字符串,因此我这样做:

var sb = new StringBuilder(1024 * 1024 * 1024);
Run Code Online (Sandbox Code Playgroud)

但收到此错误

'System.OutOfMemoryException' was thrown
Run Code Online (Sandbox Code Playgroud)

任何追加长串的建议?

我正在为MySQL数据库编写备份工具.这些工具将从数据库导出数据并写入文本文件.数据包含BLOB和TEXT数据类型.所以,期待很长的字符串.

这是代码:代码更新1

var conn = new MySqlConnection(Program.ConnectionString);
var cmd = new MySqlCommand();
cmd.Connection = conn;
conn.Open();

cmd.CommandText = selectSQL;

MySqlDataReader rdr = cmd.ExecuteReader();

while (rdr.Read())
{
    var sb = new StringBuilder(1024 * 1024 * 1024);
    for (int i = 0; i < rdr.FieldCount; i++)
    {
        if (sb.Length > 0)
            sb.AppendFormat(separator);

        if (rdr[i].GetType() == typeof(byte[]))
        {
            sb.AppendFormat(ConvertByteArrayToHexString((byte[])rdr[i]));
        }
        else
            sb.AppendFormat(rdr[i] + "");
    }
    WriteToFile(sb.ToString()); …
Run Code Online (Sandbox Code Playgroud)

c# mysql stringbuilder out-of-memory

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