小编mhe*_*384的帖子

Visual Studio"搜索解决方案资源管理器"已禁用

在Visual Studio 2015中,我的"搜索解决方案资源管理器"不时被禁用.似乎没有任何押韵或理由,并且经常重新启动Visual Studio或加载不同的项目没有帮助.我没有看到互联网上的其他任何人抱怨这个.任何人遇到这个并修复?

在此输入图像描述

我确实安装了Resharper,也许这会导致问题,但我相信在安装Resharper之前我已经碰到了这个问题.

或者,我是否可以在Visual Studio 2015中安装第三方扩展程序以按文件名进行搜索?

visual-studio solution-explorer

17
推荐指数
2
解决办法
5575
查看次数

为什么存在Microsoft.VisualStudio.TestTools.UnitTesting.Assert.Equals()?

MSDN文档中的Assert.Equals()说明:不要使用此方法.

就是这样,完整的解释.呃..好吧,但是......那为什么呢?它是早期版本框架的弃用方法吗?什么应该只被其他Microsoft Assemblies使用?

它只是让我想要更多地使用它知道我不应该这样做.;-)

有人知道吗?

unit-testing mstest

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

为什么不能使用iframe绝对定位来设置高度/宽度

我的问题类似于IFRAME和冲突的绝对位置,但我特别想知道为什么你不能在iframe中设置左/右或上/下并让它工作.

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
iframe { position: absolute; display: block; top: 0; bottom: 0; left: 10px; width:100px;   border: 1px solid black;}
div { position: absolute; display: block; top: 0; bottom: 0; left: 200px; width:100px;  border: 1px solid black;}
</style>
</head>
<body>
<iframe></iframe>
<div></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

div占用了完整的浏览器高度.iframe高150px.在Chrome 17,Firefox 11和IE9中也是如此.显然这不是浏览器的怪癖.HTML5规范中有一些内容表示您无法在iframe上设置左/右或上/下以设置高度.

关于iframe(与divs)有什么特别之处?

css iframe html5

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

AddressFamily.FireFox在.NET套接字中引用了什么?

在System.Net.Sockets.AddressFamily中,有许多明显的条目,如InterNetwork,AppleTalk和Ipx.还有一个用于"FireFox".我认为这与"Firefox"浏览器无关.这是不同的和b.为什么Firefox浏览器会有自己的网络地址类型.那到底是什么意思呢?有没有FireFox网络协议?我已经用Google搜索并搜索了维基百科,但任何搜索FireFox和网络协议都会让Firefox浏览器获得成千上万的点击量.我猜这是一个像Banyan Vines这样长期过时的网络协议.

有谁可以告诉我AddressFamily.FireFox的用途?

.net firefox networking

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

如何在Release()上处理NET COM互操作对象

我有一个用托管代码(C++/CLI)编写的COM对象.我在标准C++中使用该对象.
当COM对象被释放时,如何强制立即调用COM对象的析构函数?如果那是不可能的,请调用我有Release()调用我的COM对象上的MyDispose()方法?

我的代码声明对象(C++/CLI):

    [Guid("57ED5388-blahblah")]
    [InterfaceType(ComInterfaceType::InterfaceIsIDispatch)]
    [ComVisible(true)]
    public interface class IFoo
    {
        void Doit();
    };

    [Guid("417E5293-blahblah")]
    [ClassInterface(ClassInterfaceType::None)]
    [ComVisible(true)]
    public ref class Foo : IFoo
    {
    public:
        void MyDispose();
        ~Foo() {MyDispose();} // This is never called
        !Foo() {MyDispose();} // This is called by the garbage collector.
        virtual ULONG Release() {MyDispose();} // This is never called
        virtual void Doit();
    };

我使用该对象的代码(本机C++):

#import "..\\Debug\\Foo.tlb"
...
Bar::IFoo setup(__uuidof(Bar::Foo)); // This object comes from the .tlb.
setup.Doit();
setup->Release(); // explicit release, not really necessary since …

.net com interop release c++-cli

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

好的免费FTP客户端库(适用于Windows C++商业应用程序)?

我正在寻找一个具有公共域或BSD类型许可证的良好开源Windows FTP客户端库.我可以访问源代码的东西,我可以在商业应用程序中使用C++ for Windows应用程序.

我们已经使用Wininet多年了,而且它有些错误和可怕.最后一根稻草是IE8 beta 2,其中包含InternetGetLastResponseInfo()中的新错误.当我们的用户可以安装最新版本的IE并打破我们的应用程序时,我再也无法证明使用Wininet了.

我看过libcurl,但它对我们的需求来说太沉重了.我唯一需要的是FTP支持.我可以花一天时间去掉我不需要的libcurl中的所有代码,但是如果可能的话,我宁愿从一个简单的FTP客户端库开始.

我查看了ftplib(http://nbpfaus.net/~pfau/ftplib/),但它是GPL,我需要这个用于闭源商业应用程序.

我以前写过FTP客户端代码,并不是那么难(不幸的是它是在15年前,我没有源代码了).必须有一个漂亮的简单免费客户端库,除了FTP之外什么都不做,并且拥有可以在闭源商业应用程序中使用的许可证.

(如果您感到好奇,那就是如果您尝试使用FTP站点进行FtpFindFirstFile()而无法进行被动模式连接,则InternetGetLastResponseInfo()不会返回完整响应.这只是众多问题中的一个.我多年来发现的错误.另一个是Wininet的FTP支持忽略了所有的超时值.这个特定的bug已存在多年了.)

c++ windows ftp

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

模糊混合.NET DLL的最佳产品

我有一个.NET DLL和应用程序.DLL是用C++/CLI编写的,它是"混合的",即部分托管代码和部分原生代码.

我有两个目标:
1.混淆所有托管代码,使其无法被反汇编
2.混淆混合DLL的公共方法/类,以便没有人可以在自己的应用程序中使用DLL,即加扰公共名称.

是的,我理解混淆不完美,人们仍然可以弄清楚,等等等等.这两个目标是管理要求.我发现可以处理的唯一应用程序似乎是Dotfuscator专业版.不幸的是,这是令人难以置信的烦人的应用程序之一,你必须请求推销员告诉你价格.有没有人知道另一种解决方案,或者知道购买便宜的合法副本的好地方?

不要告诉我在托管代码中重写DLL,这需要一个月的工作,我永远不会得到批准.:-)

请注意,我对混淆的好坏并不特别偏执.任何扰乱应用程序中所有方法和类的名称的东西都可能足够好.

以下是我尝试的其他混淆器:

  • Dotfuscator Community Edition随Visual Studio 2008一起提供,但不支持混合程序集.

  • Eazfuscator .NET简单而且免费,但不支持混合程序集.

  • 单个许可证的{smartassembly}是500美元.它有一些有趣的功能,但它不支持混合程序集.

  • 蝾螈是800美元.声称完全支持混合程序集,但每当我尝试使用混淆的dll时,应用程序崩溃了

  • 单个开发人员许可证的.NET Reactor为180美元.它支持混合DLL的"部分"混淆.不幸的是,如果你混淆DLL上的公共类型它不起作用,.exe无法找到类.它有能力将DLL合并/打包成.exe,但是当你使用混合DLL执行它时它不起作用(exe无法找到DLL的程序集,即使它是.exe的一部分)

  • 单个许可证的Skater是300美元.我没有在他们的网站上看到任何声称它支持混合组件的东西,我厌倦了尝试应用只是为了失望所以我会假设它没有.

我也尝试过Microsoft的ILMerge,看看我是否可以将DLL与.exe合并然后进行混淆,但看起来它也混淆了DLL.

有关替代Dotfuscator的建议或购买合法副本的好地方吗?我找到了几个声称卖得便宜的无名网站,但我认为这些是俄罗斯盗版.

.net obfuscation mixed

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

Web配置转换条件/匹配,以根据父节点属性选择节点

我有一个看起来像这样的变换

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <a>
    <b>
      <c>
        <d>
          <e name="UpdateLanguageProfile">
            <f xdt:Transform="Replace" xdt:Locator="Condition(/..@name='UpdateLanguageProfile')">
              stuff here
            </f>
          </e>
        </d>
      </c>
    </b>
  </a>
Run Code Online (Sandbox Code Playgroud)

所以我希望xdt:Locator仅在父节点具有指定值的属性时才选择f节点.

xdt:Locator被转换为以下xpath表达式:

/a/b/c/d/e/f[/..@name='UpdateLanguageProfile']
Run Code Online (Sandbox Code Playgroud)

这是无效的.

所以问题是,我可以在条件中放入什么,即XPath方括号,以便根据父节点中的属性选择f节点.

xpath web-config-transform

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

.NET/COM如何与通过Regasm注册的多个版本一起使用?

我有一个.NET DLL(碰巧用C++/CLI编写).它的一部分我想通过COM公开.我这样做并使用"regasm my.dll/codebase"注册它.到现在为止还挺好.但后来我更改了一些东西和程序集更改的版本号加上我将dll移动到另一个文件夹.我再次注册它,并在OLE/COM查看器中查看我的COM对象.我看到这样的事情

InprocServer32 [Codebase] = file://c://foo/bar/my.dll
7.0.0.0 [Class] = My.Blah.Class
7.0.0.0 [Assembly] = Sync, Version=7.0.0.0, Culture=neutral, PublicKeyToken=1dd19234234
7.0.0.0 [RuntimeVersion] = v2.0.50727
7.0.0.0 [CodeBase] = file://c:/dooby/do/my.dll
7.0.0.27397 [Class] = My.Blah.Class
7.0.0.27397 [Assembly] = Sync, Version=7.0.0.27397, Culture=neutral, PublicKeyToken=1dd19234234
7.0.0.27397 [RuntimeVersion] = v2.0.50727
7.0.0.27397 [CodeBase] = file://c://foo/bar/my.dll

有关多个版本的问题:

  1. 所以我认为注册的最后一个COM对象获胜.如果我注册了旧的7.0.0.0 COM对象并不重要,7.0.0.27397是我在实例化COM对象时创建的,因为我最后注册了它.那是对的吗?

  2. 哎呀我没有留在7.0.0.0对象.有没有办法摆脱它?有没有办法删除所有版本的COM对象,而不是进入注册表并手动打击它?

  3. 出于好奇,如果我特意想要实例化我的COM对象的特定版本,有没有办法做到这一点?(如果你想给出代码示例,我正在使用C++).

  4. 有什么方法我可以告诉regasm不存储版本号,因为它似乎是混乱的东西,我看不出有什么好处.如果我的COM对象经历了重大的API更改,我只需更改GUID和progid,对吧?如果我不想注册多个版本(我没有),该怎么办?

com versions regasm

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

如何检测html5视频是否将内联播放

我有一个HTML5视频,顶部有一个启动图像.在桌面设备上,我想点击启动图像以使图像消失并播放视频.在手机上,单击图像将使视频在单独的应用程序中播放,因此当用户单击返回到网页时,我希望启动图像仍然存在(普通视频组件,至少在我的Android手机,非常难看).

如何判断视频是"内联"还是启动到新应用中?如果它以内联方式显示,我将隐藏启动图像,如果它被启动到一个新的应用程序,我不会.

一种方法是嗅探用户代理以查看它是否是电话.出于显而易见的原因,这不是一个好主意(当新手机出现时可能会破坏,必须在100多台设备上进行测试).另一种可能性是当我们离开页面跳转到视频播放器或从视频播放器返回时捕获某种事件.但我不知道该抓什么.我考虑过的另一种可能性是设置一个计时器来检查视频组件的某些属性......看看它是否正在播放......或其他什么.

我正在使用jQuery,以防万一.

html javascript video mobile html5

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