小编Jer*_*son的帖子

有没有办法检查文件是否正在使用?

我正在用C#编写一个需要重复访问1个图像文件的程序.大部分时间它都可以工作,但如果我的计算机运行速度很快,它会在将文件保存回文件系统之前尝试访问该文件并抛出错误:"另一个进程正在使用的文件".

我想找到解决这个问题的方法,但是我所有的谷歌搜索都只是通过使用异常处理来创建检查.这违背了我的宗教信仰,所以我想知道是否有人有更好的方法呢?

.net c# file-io file file-locking

809
推荐指数
11
解决办法
49万
查看次数

AWS S3:您尝试访问的存储区必须使用指定的端点进行寻址

我正在尝试使用AWS-SDK-Core Ruby Gem删除上传的图像文件.

我有以下代码:

require 'aws-sdk-core'

def pull_picture(picture)
    Aws.config = {
        :access_key_id => ENV["AWS_ACCESS_KEY_ID"],
        :secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"],
        :region => 'us-west-2'
    }

    s3 = Aws::S3::Client.new

    test = s3.get_object(
        :bucket => ENV["AWS_S3_BUCKET"],
        :key => picture.image_url.split('/')[-2],   
    )
end
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

您尝试访问的存储区必须使用指定的端点进行寻址.请将以后的所有请求发送到此端点.

我知道该区域是正确的,因为如果我将其更改为us-east-1,则会出现以下错误:

指定的密钥不存在.

我在这做错了什么?

ruby ruby-on-rails amazon-s3 amazon-web-services

173
推荐指数
6
解决办法
10万
查看次数

将VS2012解决方案转换为VS2010

我正在使用VS 2012进行VB项目,完成后我尝试添加安装项目.

我没有找到它(因为安装项目在VS2010之后停止了)所以我切换到了VS2010,但问题是项目不会打开,我收到此消息:

所选文件是解决方案文件,但是由此应用程序的较新版本创建,无法打开.

我尝试了这篇文章:http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 并试图从2012年转换到2010年,但出现了相同的消息.

visual-studio-2010 visual-studio-2012

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

将枚举转换为List <string>

如何将以下枚举转换为字符串列表?

[Flags]
public enum DataSourceTypes
{
    None = 0,
    Grid = 1,
    ExcelFile = 2,
    ODBC = 4
};
Run Code Online (Sandbox Code Playgroud)

我找不到这个确切的问题,这个Enum to List是最接近但我特别想要的List<string>

.net c# enums generic-list

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

无法从程序集'System.ServiceModel加载类型'System.ServiceModel.Activation.HttpModule'

我在IIS中运行我的Web项目.

这是一个4.0 Framework APP.

我有一个Service.svc,当我运行我的应用程序时,我收到此错误.

"无法从程序集'System.ServiceModel,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'加载类型'System.ServiceModel.Activation.HttpModule'

我试过这个 - > aspnet_regiis.exe -iru我在很多论坛中发现它并没有解决我的问题.

有谁知道另一种方法?

iis service svc

87
推荐指数
6
解决办法
11万
查看次数

Excel Interop - 效率和性能

我想知道我可以做些什么来提高Excel自动化的性能,因为如果你在工作表中有很多事情,它可能会很慢......

这里有一些我发现自己:

  • ExcelApp.ScreenUpdating = false - 关闭重绘屏幕

  • ExcelApp.Calculation = Excel.XlCalculation.xlCalculationManual - 关闭计算引擎,以便Excel在单元格值更改时不会自动重新计算(在完成后将其重新打开)

  • 减少对Worksheet.Cells.Item(row, col)和的调用Worksheet.Range- 我不得不轮询数百个单元格以找到我需要的单元格.实现一些单元格位置的缓存,将执行时间从大约40秒减少到大约5秒.

什么样的互操作会对性能造成严重影响,应该避免?你还能做些什么来避免不必要的处理?

c# excel performance interop vsto

62
推荐指数
5
解决办法
3万
查看次数

Visual Studio - 突然无法调试测试

我不确定我做了什么,但突然之间,我的Visual Studio 2012将不会调试任何测试.

如果我从Test Explorer中选择一个测试并告诉它运行,它只是在Test Output窗口输出:

> ------ Discover test started ------
> ========== Discover test finished: 29 found (0:00:01.3371755) ==========
> ------ Run test started ------ Process with an Id of -1 is not running.
> ========== Run test finished: 0 run (0:00:01.4711861) ==========
Run Code Online (Sandbox Code Playgroud)

这是什么意思?!执行此操作几次后,错误更改为:

The Operation was Cancelled
Run Code Online (Sandbox Code Playgroud)

我当然没有这样做.

它是在列表中的每个测试中执行此操作.

但是,我可以运行测试没有问题,他们通过...但我无法调试测试.

我可以做些什么?我没有主动进入任何设置并改变任何东西,也许是某个地方的流浪点击,但在哪里?

visual-studio visual-studio-debugging vs-unit-testing-framework visual-studio-2012 visual-studio-2017

45
推荐指数
10
解决办法
4万
查看次数

如何在不使用Microsoft.Office.Interop.Excel库的情况下在C#中读取excel文件

我在C#中有一个.Net-Windows应用程序.我需要打开一个excel并处理它.如何在不使用Microsoft.Office.Interop.Excel库的情况下执行此操作?

.net c# excel office-interop

43
推荐指数
2
解决办法
16万
查看次数

VS2017实时单元测试 - 仅减去 - 不起作用

TL; DR; 编辑6:我缩小了它并提供了5个步骤来重现问题/错误.

  1. 创建VS2017 c#控制台应用程序(.Net完整框架)
  2. 将方法添加到Program.cs并使该类公开:

 

public class Program
{
    static void Main(string[] args)
    {
    }

    public int Add(int a, int b)
    { 
        return a + b;
    }
}
}
Run Code Online (Sandbox Code Playgroud)
  1. 右键单击AddMethod并选择Create Unit Test:

在此输入图像描述

  1. 使用这些设置可以使用测试创建新的单元测试项目:

在此输入图像描述

  1. 添加单元测试

 

[TestMethod()]
public void AddTest()
{
    Program p = new Program();
    var r = p.Add(1, 2);

    Assert.IsTrue(3 == r);
}
Run Code Online (Sandbox Code Playgroud)
  • 测试菜单>实时单元测试>开始
  • AddTest()> Live Testing> Include上的上下文菜单

现在将Add的+符号更改为-

Live Unit Testing工作,将-符号改 回+,Live Test通过!!

现在添加对Nuget DLL的引用(任何人都可以) …

.net c# unit-testing visual-studio-2017 live-unit-tests

41
推荐指数
1
解决办法
4320
查看次数

获取DataTable列DataType

DataTable dt = new DataTable();  
dt.Columns.Add(new DataColumn(gridColumn1, typeof(bool)));
Run Code Online (Sandbox Code Playgroud)

我期待这一行的结果包含有关DataColumns Type(bool)的信息:

?dt.Columns[0].GetType()
Run Code Online (Sandbox Code Playgroud)

.net c# datatable datagridviewcolumn

39
推荐指数
3
解决办法
10万
查看次数