小编ves*_*san的帖子

为什么代码中的小变化不会影响exe文件的大小?

我很好奇 - 有时我会在代码中进行更改,重新编译,然后将我的exe或dll文件复制到旧版本上,并看到Windows告诉我文件的日期发生了变化,但大小保持完全相同.这是为什么?

作为示例,我使用以下控制台应用程序进行了测试:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 1;
            int b = 2;
            Console.WriteLine(a + b);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这产生了一个5120字节的exe文件(Visual Studio 2012,Debug build).然后,我将代码更改为:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 1;
            int b = 2;
            int c = 3;
            Console.WriteLine(a + b + c);
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

.net c# dll exe compilation

9
推荐指数
2
解决办法
782
查看次数

DbMigrator - 详细代码优先迁移

使用程序包管理器控制台时,可以运行以下命令:

PM> Update-Database -Verbose
Run Code Online (Sandbox Code Playgroud)

-Verbose交换机将所有尝试的SQL命令写入控制台窗口,这对于调试是非常有用的.

您可以使用DbMigrator该类在代码中执行相同的操作:

Configuration config = new Configuration();
//... (set up the config object)
DbMigrator migrator = new DbMigrator(config);
migrator.Update();
Run Code Online (Sandbox Code Playgroud)

-Verbose如果你使用这DbMigrator门课,有没有类似开关的东西?我查看了整个文档,但找不到任何东西.

.net c# entity-framework ef-migrations

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

第二页使用WIA自动进纸扫描仪进行扫描失败

我正在尝试使用具有自动进纸器的扫描仪扫描多个页面.我的代码目前非常简单:

WIA.CommonDialog dialog = new WIA.CommonDialog();
WIA.Device device = dialog.ShowSelectDevice(WIA.WiaDeviceType.ScannerDeviceType);
WIA.Items items = dialog.ShowSelectItems(device);
foreach (WIA.Item item in items)
{
    while (true)
    {
        try
        {
            WIA.ImageFile image = (WIA.ImageFile)dialog.ShowTransfer(item);
            if (image != null && image.FileData != null)
            {
                dynamic binaryData = image.FileData.get_BinaryData();
                if (binaryData is byte[])
                    using (MemoryStream stream = new MemoryStream(binaryData))
                    using (Bitmap bitmap = (Bitmap)Bitmap.FromStream(stream))
                    {
                        bitmap.Save(@"C:\Temp\scan.jpg", ImageFormat.Jpeg);
                    }
            }
        }
        catch (COMException)
        {
            break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试查询WIA_DPS_DOCUMENT_HANDLING_STATUS属性以查看进纸器中是否有任何页面可用,但总是返回1,所以相反,我正在捕获COM异常,如果我得到了WIA_ERROR_PAPER_EMPTY,我知道文档进纸器是空的.

问题是这段代码只扫描第一页,当dialog.ShowTransfer再次调用该方法时,我得到了一个异常和E_FAILHResult,我无法再扫描任何页面.奇怪的是,当我在调试器中单步执行此代码时,一切正常并且所有页面都被扫描. …

.net c# wia

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

Chrome扩展程序 - 保存PDF文件

我正在开发一个将文件保存到下载文件夹的Chrome扩展程序(这不是它正在做的全部,但这是我遇到的问题).现在我专注于PDF文件.基本上,当在Chrome中打开PDF时,用户可以使用Menu -> Save File As... 手动保存它,我只是尝试使用扩展程序自动执行此功能,但我还没有找到一个好方法.

假设我可以检测当前标签中是否包含PDF文件(基于问题的答案).

到目前为止,我发现的最好的事情是发起下载:

chrome.downloads.download({
    url: tabs[0].url, saveAs: false,
    filename: "my file", /* This will be some unique autogenerated identifier */
    conflictAction: "overwrite"
});
Run Code Online (Sandbox Code Playgroud)

这有效,但有两个缺点:

  • 该文件必须重新下载,如果它很大,这是一个痛苦.此外,该文件已经下载,所以我应该可以使用它.
  • 由于某种原因,这不适用于本地打开的文件("file:// ...").它会抛出NETWORK_INVALID_REQUEST并且不会下载.

有没有更好的方法来保存文件?

javascript pdf google-chrome google-chrome-extension

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

如何设置WPF窗口的宽度等于其标题栏中的内容?

如果我在WPF中有Window,如下所示:

<Window
    Title="Alter Window Width so that the complete title is shown."
    SizeToContent="WidthAndHeight"
    WindowStartupLocation="CenterOwner">
Run Code Online (Sandbox Code Playgroud)

此窗口将自动调整大小以确保其所有内容都可见.但它对标题的作用不同,因此当窗口显示时,标题的一部分可能会被隐藏.

可以做些什么来确保窗口的宽度足以在标题栏中显示标题?

.net c# wpf xaml

4
推荐指数
1
解决办法
870
查看次数

如何在opengl中将顶点打印到控制台?

这听起来很荒谬,但我找不到任何关于如何从顶点数组(从相应的GLuint)到控制台打印顶点的信息?

我需要这样做来帮助我调试应用程序.

opengl vertex

0
推荐指数
1
解决办法
779
查看次数