我无法通过设备上的本地数据库找到正式支持MonoTouch的NoSQL数据库.如果他们是,那么有人可以在这里提供他们的清单.
我一直在试图找出如何以编程方式与基于组件的服务(CBS)进行交互,这基本上是TrustedInstaller和其他服务.目标是能够查询CBS安装的软件包,并获取他们在已安装的软件包上可能拥有的任何其他信息.这是一个概述的链接.
基本上使用C/C++/C#(不挑剔)我想通过API与此进行交互.此链接是MSDN中与API相关的最佳文档,我可以找到并且它并不多.然后这是另一个MSDN文档区域,它提供了一些细节,但没有真正关于我可以用来与它进行交互的API.这个是在包管理器下的,它是如何通过命令行以有限的方式进行交互以安装基于CBS的包.最后一个链接的最佳引用是:
"CBS 向其客户端安装程序提供各种API(不公开),以便为操作系统组件提供服务."
可能会说这一切,但我还没准备好放弃.家庭的全部或至少大部分是%WINDIR%\servicing具有CbsApi.dll对于初学者来说,尽管其出现被注册为COM DLL不公开暴露任何类或函数做任何事情.这似乎也是大部分细节的API访问是在子文件夹,例如Packages,Sessions,Editions,Version,等.
我知道除了我自己和格雷格兰伯特之外,没有多少人会尝试这样做,他在两年前有几篇博客帖子基本上都在问同样的问题并试图找出这个"非公开"的API.看起来他也没有破解这个坚果.
所以现在我正在寻求帮助,并询问社区是否有人为此制定了隐藏的API,或者可能想要接受挑战,并希望他们能够找到答案.任何有助于我更进一步的信息都值得赞赏.
NUnit是否支持类似于可以应用于静态方法的Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttribute的Assembly Teardown概念?
这将在程序集中的所有测试完成后运行.我目前正在使用NUnit 2.6.0.
似乎没有任何经过验证的真实最佳实践指导您如何设置解决方案,项目及其输出的程序集.微软似乎已经在VS.net时代试过了,但他们已经退出了这个内容.对于我读到的每一种方法,我都读到了另一种声称相反更好的方法,或者只关注"如果只有微软会..."的帖子,但实际上并没有提供任何解决方案.
似乎有很多方法可以做到这一点,所有这些似乎都适用于他们的情况下的各种团体,因此我想我会问你在你的情况下使用什么约定以及为什么它们适合你.
我希望这将为不同情况,小型开发团体和项目提供几个良好的公约,以适应不同地点的大型开发团队和项目.
你用什么约定......
需要明确的是,WHY与这些答案中的HOW一样重要.关于这里和其他地方的发布方式有很多答案,很少有人说为什么他们使用一种约定而不是另一种约定.
我在Visual Studio 2008中使用MSTest和C#.我有一个特定的环境变量,我想要一个路径修改,我想只在运行任一特定测试期间或更好,但在运行配置中进行所有测试.
我尝试使用测试运行配置安装脚本执行此操作,但正如我预期的那样,因为它是一个批处理文件,一旦退出就会丢失更改,因此无法正常工作.
有没有其他方法来设置临时系统环境变量,这些变量在所有运行的测试期间都有效?
以下示例在常规Mono 2.10.9中编译正常:
namespace covarianttest
{
public interface ITest<out T> : IEnumerable<T>
{
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试针对MonoTouch 6.0.8进行编译时,我收到此错误:
错误CS1961:协变类型参数'T'必须在'covarianttest.ITest'上不变地有效
那么我是否认为MonoTouch不支持扩展协变/逆变通用接口呢?如果是这样,MonoTouch中针对这种情况的推荐解决方法是什么?
[ 我是ADO.NET和实体框架的新手,如果这个问题看起来很奇怪,请原谅我.]
在我的WPF应用程序中,用户可以在运行时在不同的数据库之间切换.当他们这样做时,我希望能够快速检查数据库是否仍然可用.我很容易获得的是ObjectContext.我正在进行的测试是计算一个非常小的表的总记录,如果它返回结果然后它通过,如果我得到一个异常然后它失败.我不喜欢这个测试,它似乎最容易使用ObjectContext.
我已尝试在连接字符串和ObjectConntext中设置连接超时,并且似乎更改了第一个方案的任何内容,而第二个方案已经很快,因此如果它发生任何变化则不明显.
情景一
如果在第一次访问之前连接已关闭,则需要大约30秒才会发出基础提供程序失败的异常.
情景二
如果我启动应用程序并且访问它时数据库已启动,那么在使用测试时连接断开很快并且几乎立即返回.
我希望描述的第一个场景与第二个场景一样快.
请让我知道如何最好地解决这个问题,如果有更好的方法来快速测试与数据库的连接,请告知.
我有一个包含一些集合的类,我想将这个类的实例序列化为XML,而不必将集合初始化为空,而不必实现IXmlSerializable.我不在乎它是否创建空元素,或者根本不创建元素.只需它可以工作而无需为每个基于集合的属性初始化集合.
我已经查看了可以用它来装饰属性的所有XML属性,并且没有取得任何成功.这似乎是一个简单的事情,可以有一个元素或根本没有.然后,当它被反序列化时,它会将它们留空或忽略它们的周期.
以下是用于解决此问题的类的简单版本.使用此和默认值会导致异常"对象引用未设置为对象的实例",因为集合为空;
public class MyClass
{
public string Name { get; set; }
public bool IsAlive { get; set; }
public List<Car> Cars { get; set; }
public List<Home> Homes { get; set; }
public List<Pet> Pets { get; set; }
public void ToXmlFile(string fileName)
{
XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
TextWriter writer = new StreamWriter(fileName);
serializer.Serialize(writer, this);
writer.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
编辑 感谢帮助人员,事实证明问题出在我的GetHashCode方法中,该方法没有正确处理null.一旦我修好了,一切都很好.我标记了第一个回答是正确的.对不起红鲱鱼,但与你们一起工作确实有所帮助.
可能重复:
在C#中确定字符串的编码
我相信,如果我创建一个字符串,它默认为UTF8,但是如果字符串是在其他地方创建的,我想在处理之前更加安全并检查它的编码是什么我看不到任何简单的方法来使用字符串或编码类.我错过了什么或者C#字符串总是UTF8,不管是什么?
我是Unity的新手,我正试图弄清楚如何使用触摸输入在地图/地形上移动相机.相机将俯视地形,旋转(90,0,0).地形位于第8层.我用键盘移动它没有任何问题,现在我正在尝试移动触摸,如果你想在iOS上保持预期的用途,它是非常不同的.
我可以在内置的iOS应用程序中想到的最好的例子是用户触摸屏幕的地图,只要手指停留在屏幕上,地图上的那个点就会留在手指下.因此,当用户移动他们的手指时,地图似乎随着手指移动.我无法找到显示如何以这种方式执行此操作的示例.我已经看过可能用鼠标移动相机或角色的例子,但它们似乎不能很好地转换为这种风格.
还发布在Unity3D上:
http://answers.unity3d.com/questions/283159/move-camera-over-terrain-using-touch-input.html
c# ×4
.net ×2
c#-4.0 ×2
unit-testing ×2
xamarin.ios ×2
3d ×1
ado.net ×1
c ×1
c++ ×1
collections ×1
covariance ×1
encoding ×1
generics ×1
ios ×1
mstest ×1
nosql ×1
nunit ×1
string ×1
touch ×1