小编lys*_*cid的帖子

从Xamarin Mono for Android项目引用PCL(可移植类库)

我正在使用Mono for Android来创建Android应用程序.

我想引用我在这个项目中编写的其他一些库(编译为可移植类库).

每当我尝试这样做时,我都会收到错误消息:"当前项目不支持对可移植库项目的引用."

有没有办法克服这个问题?

引用编译的项目输出工作正常.

mono xamarin.android xamarin

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

模拟Windows 8商店应用购买

我正在尝试将模拟购买的代码整合到一个Windows 8(商店)应用程序中.

代码非常简单并使用Windows API:

var result = await CurrentAppSimulator.RequestProductPurchaseAsync("product", true);

// this is still false...
var active = CurrentAppSimulator.LicenseInformation.ProductLicenses["product"].IsActive;
Run Code Online (Sandbox Code Playgroud)

第一个调用打开对话框,允许我模拟购买的返回代码.

即使我选择S_OK,下一行仍会检查许可证是否处于活动状态并返回false.

这有什么不对?

c# in-app-purchase windows-8 windows-runtime

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

无需新建项目即可在Android Studio中查看logcat

我正在尝试使用 Android Studio 作为我的主要 Android IDE。

我习惯从 Eclipse 获得的一件事是可以选择使用 DDMS 从连接的设备查看 logcat 日志。

我似乎无法使用 Android Studio 实现相同的目标 - 它要求我在访问 logcat 之前创建一个新项目。

有什么方法可以显示 logcat 输出还是我必须为此创建一个新项目?

android logcat android-studio

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

如何在C#中拦截方法调用

我想在C#中调用第三方代码时拦截并注入自定义代码.我正在使用外部库(AutoIt)进行GUI自动化.AutoIt dll没有源代码.

使用此框架完成的所有操作都是从AutoItClass提供对所有方法的访问权的单个类()执行的.我希望能够在调用此类的方法时注入自定义代码,这可能吗?例如:

  1. 从被调用的方法中记录一些信息.
  2. 从方法中执行任何其他操作(等待X秒).

通过继承此类并重写其所有方法(这是必须的,因为这是一个COM对象),这可能非常简单,但这不是首选方法.任何评论都会有所帮助!

.net c# autoit

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

寻找适用于.NET的GUI自动化框架(WinForms)

目前我们正在使用AutoIT来自动化使用WinForms构建的一些内部工具.

这不是一个平滑的过程,因为就我所见,AutoIT并不能很好地处理.NET窗口.

我正在寻找一个框架:

  1. 免费(或非常便宜).
  2. 适用于WinForms/WPF和任何其他.NET技术.通过这种方式,我的意思是强大的控制识别,这将
    通过应用程序的每个小UI更改来重新维护项目的开销.
  3. 不涉及脚本/最小脚本(如果可能的话 - 以流行语言).
  4. 记录模式以记录运行.

c# user-interface automation

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

源代码与原始版本不同

我们正在开发.NET应用程序,最近开始使用Git进行版本控制.

我们的最新版本在Git中标记,现在我正在尝试调试一些问题.

这是我做的:

  1. 在我的Pc上安装了应用程序(来自发行版).
  2. 检查标记的发布版本.
  3. 启动VS并附加到该过程.
  4. 在代码的某些部分放置了断点.

我收到消息:"源代码与原始版本不同",但这是为了发布此安装版本而编译的实际代码.

我在这做错了什么?

如果重要的话,使用VS2008.

BTW:用于比较二进制文件是否与源代码不同的机制是什么?

例如,当从Git克隆repo时,它会将所有文件/文件夹的日期更改为当前日期.这个值(datetime)用于确定源代码与二进制吗?

debugging visual-studio-2008 visual-studio

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

带花括号的String.Format

我们的低级日志记录库必须处理发送给它的各种日志消息.

其中一些消息包括花括号(作为文本的一部分),有些包含使用String.Format格式化为字符串一部分的参数

例如,此字符串可以是Logger类的输入:

"参数:{Hostname}值:{0}"使用发送的正确变量用于格式化程序.

为了正确地做到这一点,我必须逃避不属于格式化的花括号(通过将它们加倍).

我想过用Regex做这件事,但是这并不像看起来那么简单,因为我不知道如何在花括号内部匹配这些字符串(String.Format未用于格式化目的).

另一个问题是Logger类应尽可能提高性能,开始处理正则表达式,因为其操作的一部分可能会妨碍性能.

有没有适当的和已知的最佳做法?

c# string string-formatting curly-braces

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

使用NamedPipesBinding的WCF服务获取PipeException(管道正在关闭)

我只是在学习WCF,尝试不同的东西.

我已经设置了以下服务:

[ServiceBehavior(IncludeExceptionDetailInFaults = true , 
    InstanceContextMode = InstanceContextMode.Single)]
    public class TestService : ITestService
    {
        // This operation is defined as OneWay.
        public void Throws()
        {
            throw new ArgumentException();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我从我的客户端使用它,如下所示:

var baseAddress = new Uri("net.pipe://localhost/hello");

// Create the ServiceHost.
using (ServiceHost host = new ServiceHost(typeof(TestService), baseAddress))
{
    var netBinding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None);
    host.AddServiceEndpoint(typeof(ITestService), netBinding, baseAddress);
    host.Open();

    Console.WriteLine("The service is ready at {0}", baseAddress);

    // Create client channel.
    var channel = ChannelFactory<ITestService>.CreateChannel(netBinding, new EndpointAddress(baseAddress));

    ((ICommunicationObject)channel).Open();

    try
    {
        foreach (var …
Run Code Online (Sandbox Code Playgroud)

.net c# wcf wcf-binding wcf-client

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

应该在访问UI控件时始终使用Control.InvokeRequired

我们正在使用WinForms(3.5)构建.NET应用程序.

我最近添加了一个新功能,并在访问某些控件时开始遇到奇怪的行为.问题是某些UI控件访问只是暂停执行(没有看到异常).

仔细检查(使用WinDbg)我意识到控件是从ThreadPool线程更新的,并且抛出了CrossThreadMessagingException.

我的问题是 - 有关如何规避这种行为的良好做法吗?

这将是非常麻烦的,但也许不可能围绕使用Control.Invoke方法访问UI控件的每个代码位置.

我如何将我的代码划分为不应该使用Invoke的"安全"代码?

.net c# clr ui-thread winforms

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

仅在实际构建项目时运行MSBuild目标

我有一个MSBuild文件,用于构建*/ .sln文件(构建所有存在的.sln文件).

构建使用Build目标,因此如果没有对输入文件进行任何更改,则不应再次构建任何项目.

我想只在项目实际上再次构建时才执行一些自定义目标.

如何才能做到这一点?

无论编译/构建是否实际发生,都始终调用AfterBuildAfterCompile.

.net msbuild build-process build msbuild-4.0

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