小编Lib*_*bor的帖子

Visual Studio 2012 SDK示例在哪里?

我刚刚安装了Visual Studio 2012 SDK,但找不到任何文件.

安装程序在磁盘上使用了超过100 MB - 但文件在哪里?

我搜索了开始菜单,发现只有网络链接.参考页面说有一些源代码样本,但这些是哪些?

sdk visual-studio visual-studio-2012

12
推荐指数
1
解决办法
5518
查看次数

有可靠的.NET Image元数据库吗?

我正在寻找一些具有以下要求的图像元数据处理库:

  • 支持EXIF,IPTC和XMP
  • 支持快速读取元数据标签(例如,批量加载带注释的图像缩略图)
  • 支持编写元数据标签
  • 支持标准和RAW图像格式

我发现了几个候选人,但每个都有一些缺陷:

  • WIC - 元数据支持基于每个编解码器,不可能从PNG和其他格式中提取XMP或EXIF元数据; RAW编解码器可能不一致地支持元数据
  • Exiv2 - C#包装器很老,在64位平台上存在问题
  • FreeImage - 必须加载图像才能读取元数据
  • Exiftool - 非常好,但是用Perl编写,只有命令行应用程序可以在.NET中使用 - 许多图像的加载信息可能非常慢
  • XmpUtils - 无法从JPEG文件以外的地方提取EXIF标签(在PNG上试过)

我正致力于照片管理应用程序,需要具备出色的图像元数据支持...

.net exif metadata image

9
推荐指数
1
解决办法
2591
查看次数

EnvDTE在Visual Studio 2012中替代

到目前为止,我已成功使用EnvDTE来管理Visual Studio Toolbox.

有自定义的DLL来处理不同的Visual Studio版本:

EnvDTE.dll - 常见的VS自动化(可能适用于所有版本)

EnvDTE80.dll - 处理VS 2005

EnvDTE90.dll - 处理VS 2008

EnvDTE100.dll - 处理VS 2010

但是,VS 2012没有EnvDTE110.这是否意味着VS自动化的方式与使用这些COM包装库不同?

如果是这样,除了使用EnvDTE之外,如何远程使用VS 2012项目和Toolbox?

visual-studio envdte visual-studio-2012

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

Inno Setup似乎没有写入64位计算机上的注册表

我有一个非常简单的Inno Setup脚本,其中包含此[Registry]部分:

[Registry]
Root: HKLM; Subkey: SOFTWARE; Flags: createvalueifdoesntexist; ValueType: string; ValueName: ABC; ValueData: abc
Run Code Online (Sandbox Code Playgroud)

但是,当我检查HKLM\SOFTWARE子项时,没有添加任何值.

我在HKLM\SOFTWARE和Pascal脚本下尝试了不同的子键,但Inno Setup只是拒绝创建一个新的子键或值.

我正在运行64位Windows 7,UAC已关闭.

windows registry installation inno-setup

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

对IDisposable使用不变量

考虑以下IDisposable课程:

class MyClass : IDisposable
{
    public bool IsDisposed { get; private set; } = false;

    public void Dispose()
    {
        IsDisposed = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

这个类中的每个方法,包括Dispose(),应该以这样的检查开头:

if (IsDisposed)
{
    throw new ObjectDisposedException(...);
}
Run Code Online (Sandbox Code Playgroud)

由于在所有方法中写这个都很乏味和重复,我想使用契约不变量:

public class MyClass : IDisposable
{
    ...

    [ContractInvariantMethod]
    private void objectInvariant()
    {
        Contract.Invariant(!IsDisposed)
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

但是,这只能确保IsDisposed 每个公共方法的末尾都是false ,不包括Dispose().

一旦Dispose()被调用,检查应该在每个方法的开头(包括Dispose())完成.否则,在方法运行期间,obejct将处于无效状态,可能导致困难的错误.

因此,契约不变量并不真正可用IDisposable.或者我错过了什么?

是否有可能强制invaraiants也被用作前提条件,还是我真的必须!IsDisposed手动为所有方法写相同的前提条件()?

c# code-contracts

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

在WPF中公开绑定的子控件依赖属性

我用这个XAML UserControl调用CustomTextBox了一个非常简单的东西:

<UserControl x:Class="CustomTextBox" ... >
    <Grid>
        <TextBox x:Name="InnerTextBox"/>
    </Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

现在当我使用CustomTextBox并想要绑定时InnerTextBox.Text,它不起作用:

... {Binding ElementName=CustomTextBox, Path=InnerTextBox.Text}
Run Code Online (Sandbox Code Playgroud)

我尝试了另一种方式,也不起作用:

... {Binding ElementName=CustomTextBox.InnerTextBox, Path=Text}
Run Code Online (Sandbox Code Playgroud)

我知道我可以定义一个新的依赖属性调用CustomTextBox.Text然后将其绑定到InnerTextBox.Text但我计划拥有许多属性的自定义控件,并且复制所有这些属性仅仅是为了支持绑定是一项工作.此外,复制/包装属性意味着每个值存储两次.

在WinForms中,这是一个简单的继承问题,所有属性都可以自动使用.在WPF中,无法继承XAML控件,并且无法访问属性.

有没有简单的方法来设置从某个控件到UserControl子元素属性的绑定?

.net wpf xaml dependency-properties custom-controls

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