我有Windows 7,64位.
我正在尝试使用regsvr32注册.dll(comdlg32.dll).但是我得到一个错误,表示读取了dll但找不到DLLRegistryServer入口点.
我已经在System32和SysWOW64下运行命令,并且我已经使用"以管理员身份运行"运行我的命令.
我的旧MSComDlg.CommonDialog组件不再使用64位.
我正在尝试将我从Web服务获得的结果转换为字符串并将其转换为对象.
这是我从我的服务中得到的字符串:
<StatusDocumentItem><DataUrl/><LastUpdated>2013-01-31T15:28:13.2847259Z</LastUpdated><Message>The processing of this task has started</Message><State>1</State><StateName>Started</StateName></StatusDocumentItem>
Run Code Online (Sandbox Code Playgroud)
所以我有一个课程为:
[XmlRoot]
public class StatusDocumentItem
{
[XmlElement]
public string DataUrl;
[XmlElement]
public string LastUpdated;
[XmlElement]
public string Message;
[XmlElement]
public int State;
[XmlElement]
public string StateName;
}
Run Code Online (Sandbox Code Playgroud)
这就是我试图通过XMLDeserializer将该字符串作为StatusDocumentItem类型的对象(NB.operationXML包含字符串):
string operationXML = webRequest.getJSON(args[1], args[2], pollURL);
var serializer = new XmlSerializer(typeof(StatusDocumentItem));
StatusDocumentItem result;
using (TextReader reader = new StringReader(operationXML))
{
result = (StatusDocumentItem)serializer.Deserialize(reader);
}
Console.WriteLine(result.Message);
Run Code Online (Sandbox Code Playgroud)
但我的结果对象总是空的.我究竟做错了什么?
更新.我从我的operationXML获得的值是这样的,并且有一个不必要的xmlns属性阻止了我的反序列化.没有这个属性,一切都很好.这是它的样子:
"<StatusDocumentItem xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><DataUrl/><LastUpdated>2013-02-01T12:35:29.9517061Z</LastUpdated><Message>Job put in queue</Message><State>0</State><StateName>Waiting to be processed</StateName></StatusDocumentItem>"
Run Code Online (Sandbox Code Playgroud) 我有一个WinForm
申请.我也User Control
为它创造了自己的.一切都很好.直到今天,当我尝试将其添加回我的程序时,我收到了错误消息(我从未将其删除.Visual Studio确实如此).
无法加载工具箱项#UserControlName.它将从工具箱中删除.
我在我的解决方案资源管理器中有它,但在此错误后它从我的工具箱中消失了.我也收到警告说:
'#UserControlName'永远不会被赋值,并且将始终具有其默认值null.
当我看到我的设计师代码时,这是真的.但我没有用我的设计师代码做任何事情.我的用户控件是在那里定义的,但没有实例化.我怎么能把它放回去?
它有什么关系,我改变了我的构建平台的事实x32
来x64
?如果是这种情况,我会感到惊讶,因为该程序在更改后工作正常.
我已经添加log4net
到我的项目中,它在我的机器上工作正常,但是当我将我的应用程序的发布版本发送给我的同事时,他收到了FileNotFoundException
:
无法加载文件或程序集'log4net,Version = 1.2.13.0,Culture = neutral,PublicKeyToken = 669e0ddf0bb1aa2a'
但奇怪的是,我app.config
甚至没有使用上面版本的log4net:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="BizWizard.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
Run Code Online (Sandbox Code Playgroud) 我有一个.exe
文件,我需要在创建文件后运行.文件已成功创建,之后我使用以下代码运行该.exe
文件:
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = pathToMyExe;
processInfo.ErrorDialog = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardOutput = true;
processInfo.RedirectStandardError = true;
Process proc = Process.Start(processInfo);
Run Code Online (Sandbox Code Playgroud)
我也试过一个简单Process.Start(pathToMyExe);
但.exe
文件没有运行.当我pathToMyExe
在Windows资源管理器上手动尝试时,程序正确运行.但不是通过该计划.我看到的是光标转向等待几秒然后恢复正常.所以也没有抛出异常.什么阻止文件?
.sql
我的 VS Code 工作区中的一个文件包含 MySQL 代码。即使我安装了两个插件(MySQL和MySQL Syntax),我的 IDE 仍然使用 MSSQL 识别此文件并生成语法错误。
当然,这并不妨碍我运行我的程序,我总是可以将语法高亮设置为无。但我宁愿让 VS Code 识别我所有文件的语言。
我正在尝试创建一个动态的对象列表,因为在我从文件中读取它们之前,我不知道我的对象将具有哪些属性.
所以假设我在数组中有我的对象的属性(例如FirstName,LastName,Email).
我想创建具有上述属性的名为Recipient的动态对象.然后我想创建一个列表并将其中一些对象添加到该列表中.
到目前为止,我已经完成了以下操作,但我不确定这是否是为动态对象分配属性的正确方法("fields"是数组的名称):
var persons = new List<dynamic>();
dynamic Recipient = new ExpandoObject() as IDictionary<string, Object>;
foreach (string property in fields)
{
Recipient.property = string.Empty;
}
Run Code Online (Sandbox Code Playgroud)
如何使用上述属性创建收件人对象,然后将这些收件人添加到人员列表中?
我正在使用EF6
,由于AddRange()
我需要使用的方法速度慢BulkInsert
.所以我通过这里添加了用于EF6的BulkInsert的NuGet包.
添加dll
s 后我收到的第一件事就是这个警告:
发现同一依赖程序集的不同版本之间存在冲突.请在项目文件中将"AutoGenerateBindingRedirects"属性设置为true.
我做了List
我所有的Contact
实体即contactsToInsert需要添加(我的联系人在另一个表的外键,太).当我尝试运行以下代码时,我收到一个KeyNotFoundException
声称" 字典中没有给定密钥 ".
using (var db = new Entities(myConnectionString))
{
db.BulkInsert(contactsToInsert);
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
NB.我在里面运行BulkInsert BackgroundWorker
.难道这可能是通过判断问题的原因此修复程序?
堆栈跟踪:
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at EntityFramework.MappingAPI.Mappers.MapperBase.BindForeignKeys() in c:\dev\EntityFramework.MappingAPI\trunk\src\EntityFramework.MappingAPI\Mappers\MapperBase.cs:line 603
at EntityFramework.MappingAPI.Mappings.DbMapping..ctor(DbContext context) in c:\dev\EntityFramework.MappingAPI\trunk\src\EntityFramework.MappingAPI\Mappings\DbMapping.cs:line 101
at EntityFramework.MappingAPI.EfMap.Get(DbContext context) in c:\dev\EntityFramework.MappingAPI\trunk\src\EntityFramework.MappingAPI\EfMap.cs:line 60
at EntityFramework.MappingAPI.Extensions.MappingApiExtensions.Db(DbContext ctx, Type type) in c:\dev\EntityFramework.MappingAPI\trunk\src\EntityFramework.MappingAPI\Extensions\MappingApiExtensions.cs:line 51
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at …
Run Code Online (Sandbox Code Playgroud) 我知道async
方法只能返回void
或Task
.我已经阅读了类似方法中的异常处理async
方法.我是async
编程新手,所以我正在寻找一个简单的解决方案.
我的async
方法运行一个Sql查询.如果查询没问题,它应该用布尔值通知调用者true
,否则通知a false
.我的方法目前无效,所以我无从得知.
private async void RefreshContacts()
{
Task refresh = Task.Run(() =>
{
try
{
// run the query
}
catch { }
}
);
await refresh;
}
Run Code Online (Sandbox Code Playgroud)
我只想改变async
,Task
以便在我的catch
声明中,该方法将返回a false
,否则为a true
.
我在我的Windows 7 64位上安装MySql Workbench 6.2
了MySql version 5.6
.
我想在我的数据库名称和表名中使用大写字母.所以我需要将变量设置lower_case_table_names
为2.当我查看我的选项文件的常规选项卡时,它看起来如下所示:
单击"应用"将打开一个"无变化"对话框.无论如何,当我尝试使用大写字母创建数据库时,我收到警告:
服务器配置了lower_case_table_names = 1,它只允许模式和表名中的小写字符.
我感觉my.ini
服务器上的文件与选项文件配置中提到的文件不同.当我尝试在我的my.ini
文件中手动添加此变量时,我看到下面的文本:
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
Run Code Online (Sandbox Code Playgroud)
这就是我几天来一直困在创建模式的过程中.