我有一个WinForms应用程序,我希望在某些时候在Mono上运行.但是,它正在对user32.dll使用一些P/Invoke,这将导致明显的问题.
然而,这不是一个关键的功能,只是一些风味的东西.所以我想在运行Mono时忽略它.
我知道我可以使用#if指令,但是我必须提供两个不同的程序集,这很糟糕.我知道如果我在Mono中运行,我可以检查运行时,但这不会帮助我删除函数的声明.
所以我想知道:有没有办法可以说"如果运行Mono,完全忽略它"?如果它有帮助:P/Invoke的东西在一个单独的.cs文件中并作为Partial Class实现.
有问题的源代码在这里:http://pastie.org/588940
它是我的主窗体的一部分,覆盖WndProc消息以将项添加到系统菜单.(其他一些东西被剪掉).我的问题是虽然WndProc的东西很简单,但我不知道如何处理这两个私有的extern声明 - 我可以把它们放到另一个(静态)类中,我从不在Mono上调用它吗?或者那是俄罗斯轮盘赌?
尝试在Visual Studio 2008 Professional Edition中构建项目时出现以下错误:
任务失败,因为找不到"sgen.exe",或者未安装正确的Microsoft Windows SDK.任务是在注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0A的InstallationFolder值中指定的位置下的"bin"子目录中查找"sgen.exe".您可以通过执行以下操作之一来解决问题:
- 安装适用于Windows Server 2008和.NET Framework 3.5的Microsoft Windows SDK.
- 安装Visual Studio 2008.
- 手动将上面的注册表项设置为正确的位置.
- 将正确的位置传递给任务的"ToolPath"参数.
我尝试下载适用于Windows Server 2008和.NET Framework 3.5的Microsoft Windows SDK,但仍然出现错误.我也尝试下载Windows 7 SDK和.NET Framework 3.5,结果仍然相同.
我还尝试手动编辑注册表来更改InstallationFolder,我尝试修复Visual Studio安装.
该项目最初是在Windows XP上创建的,我正在尝试在运行Windows 7 Enterprise的重新格式化的机器上进行编译.
你如何区分"补丁"和"升级"?你在哪里划线?
某个规范说每当我发布产品升级时我都需要做"X".我需要在某处画线.我不想违反这个规范,但我以前从未真正明确定义它.
我试图SELECT根据标识符和价格在表格上进行匹配,例如:
SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';
Run Code Online (Sandbox Code Playgroud)
以上返回零行,而如果删除该price='101.31'位则返回正确的行.
做......
SELECT * FROM `table`;
Run Code Online (Sandbox Code Playgroud)
返回与上面相同的行,并清楚地说明price='101.31'.然而,选择无法匹配它.改变=以<=使得它的工作-而这是不完全的解决方案.
有没有办法在执行操作之前将MySQL float转换为2位数,从而完成上述SELECT工作(或其他一些解决方案)?
谢谢!
在2D像素阵列中,我需要一种有效的算法来选择p%最大的像素.
这可以通过选择点自适应地完成,然后重复调整太靠近的点的位置.但这并不高效,因为它需要多次迭代和距离计算.
它不一定是完美的,它只需要尽可能多地避免点集群.
我想根据MIME类型处理不同的请求.例如,我有PDF,图像和其他媒体文件,我想根据各自的MIME类型禁止访问.关于如何做到这一点的任何想法?谢谢您的帮助.
我还应该注意,访问Windows注册表不是我的应用程序的选项.
我正在学习ASP.NET MVC.我正在关注asp.net上的一个基本教程.由于我并不总是遵循教程,所以我决定使用GUID作为标识列而不是整数.一切正常,直到我通过MVC应用程序向数据库添加新记录.当我添加新记录时,它插入了一个空白GUID而不是生成的GUID.以下是处理插入的代码隐藏段:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Exclude = "id")]Movie movieToCreate)
{
try
{
_entities.AddToMovieSet(movieToCreate);
_entities.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
该[Bind(Exclude = "id")]行'忽略'ID列,因为它是自动生成的.在本教程中,ID是自动递增的,但我认为这是因为它是一个整数.我尝试在此方法中添加一行:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Exclude = "id")]Movie movieToCreate)
{
try
{
movieToCreate.id = Guid.NewGuid();
_entities.AddToMovieSet(movieToCreate);
_entities.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
但是id仍然是一个空的GUID.任何人都可以向我提供一些信息,说明为什么会这样,也许如何解决它?
"并发"是指像Erlang的actor和并发GC这样的轻量级进程,旨在使这样的进程顺利运行.
如果INRIA摆脱当前OCaml实现的缺点,使OCaml为多核未来做好准备,那将是非常酷的.
PS F#不是我想要的.
是否可以运行一些javascript代码(可能有NSString输入)而不使用UIWebView?我想在一个单独的线程中运行此代码,因此UIWebView是不可能的,我真的不想渲染任何东西,只需返回结果.
我正在尝试以下内容,似乎无法正常工作.
<property name="file.configs.txt" value="" />
...
<target name="...">
<loadfile property="file.configs.txt" srcFile="remoteConfig/configs.txt" />
</target>
Run Code Online (Sandbox Code Playgroud)
我在这里读到<loadfile>任务应该将文件的内容加载到指定的属性中.
c# ×2
.net ×1
2d ×1
ant ×1
ant-loadfile ×1
asp.net ×1
asp.net-mvc ×1
cocoa-touch ×1
concurrency ×1
database ×1
distribution ×1
geometry ×1
guid ×1
httphandler ×1
iphone ×1
javascript ×1
mono ×1
mysql ×1
objective-c ×1
ocaml ×1
patch ×1
php ×1
pinvoke ×1
point ×1
upgrade ×1
windows-7 ×1