嗨,我有一个程序,在特定路径的文本文件中记录一些数据.(log.txt)我可以用记事本打开文件(log.txt)并读取其中的内容.
现在我正在编写一个程序来读取log.txt,但是我得到了异常"进程无法访问文件'log.txt',因为它正被另一个进程使用."
我该怎么办?
如何使用C#和.net 4内置图表控件绘制与图片上的图表完全相同的图表?重要的是X轴和Y轴以及那里的标记,我不想要任何图形线,只需要空图表.
我非常感谢代码snipet.最好的问候,Primoz.
编辑:我遇到的问题
我正在使用win form和bult-in chart控件.
我应该处理System.Windows.Media.Pen
吗?
通常调用a的Dispose方法System.Drawing.Pen
.
它可能我只是在这里遗漏了一些东西但是,当我为Excel互操作编写一些代码时,它是如何进行的.
是否存在我必须部署/注册PIA的情况?或者我在这里遇到了什么问题,因为在我看来,将PIA嵌入主程序集似乎不是一个很大的功能?
请原谅我的无知,如果有的话.
更新:
所以我做了一些测试,我写了一个打开excel的应用程序在单元格中添加"hello"并保存文件.
我在安装了Office 2003的Win7 Dev机器上构建它(所以我引用了2003 libs).有趣的是,没有嵌入式PIA,该应用程序为9KB(3 PIA总计高达1.32MB).使用嵌入式PIA,exe为13KB.
其次,通过嵌入式PIA,该应用程序在Office 2007和2010上运行.在没有嵌入式PIA的情况下,在WinXP + Office2007上,只有当PIA不在exe目录中时它才会失败.
所以我想无论采用何种方法,都有某种动态分辨率?然后为什么它在没有PIA的exe7目录中的Win7上运行,但是在WinXP上它失败了(只有当PIA没有在exe的目录中时),Win7盒子是否在全球范围内部署了PIA?
谢谢
基甸
我正在将我们的DAL类库迁移到.NET 4(从.NET 3.5).我们经常使用类型化数据集,我们经常迭代表:
foreach(var row in ds.MyTable) var tmp = row.ID;
Run Code Online (Sandbox Code Playgroud)
这不再起作用,因为设计人员更改了数据集的代码,以便表格不再来自TypedTableBase<T>
,而是来自DataTable
(并实现非泛型IEnumerable
).这就是差异所显示的.因此,该行在object
编译时是类型的.
有人知道这是否是通常的行为?目前,我正在按照下面所示的方式进行,但我希望有一个更优雅的解决方案:
foreach(var row in ds.MyTable.Cast<MyDs.MyRow>()) var tmp = row.ID;
Run Code Online (Sandbox Code Playgroud) 在什么情况下我会看到上述消息?我只有一次调用SQL Server,它包含在对TransactionScope的调用中.在我们的开发和QA环境中,MSDTC被关闭,呼叫成功.但是,在我们打开MSDTC的生产环境中,我们没有通过此调用.当我确定我们根本没有查看分布式事务调用时,是否会出现这种情况?
我需要获取任何信息以识别机器,到目前为止我使用的是以下内容:
internal static string GetProcessorId()
{
try
{
StringBuilder sb = new StringBuilder();
using (System.Management.ManagementClass theClass = new System.Management.ManagementClass("Win32_Processor"))
{
using (System.Management.ManagementObjectCollection theCollectionOfResults = theClass.GetInstances())
{
foreach (System.Management.ManagementObject currentResult in theCollectionOfResults)
{
sb.Append(currentResult["ProcessorID"].ToString());
}
}
}
return sb.ToString();
}
catch (Exception exception)
{
Console.WriteLine(exception.Message);
return "";
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我在Windows XP(从虚拟机)上运行它时,我currentResult["ProcessorID"]
就是null
.我不确定是不是因为我使用的是虚拟机,但可能是因为它是XP.无论如何,我不太相信这段代码.它足够安全吗?我应该以其他方式获得计算机ID吗?这是我正在开发的许可系统的一部分.
有没有人弄清楚为什么.net 4.0的sn.exe
崩溃如果在外面运行崩溃C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\
?(使用Windows XP,32位)
Visual Studio 2010工作得很好,sn工作在NETFX 4.0工具中(直接调用或在PATH上调用).
.net 3.5版本(来自..\Bin)工作正常,可以移动.
我只是试图获得一个自动构建,但似乎sn.exe需要住在它的位置......这可能是什么?我错过了一些明显的东西吗
我做了很多工作来开发CLR例程来实现DAL功能,使用VS2010打算将它们移植到SQL2008R2 clr程序集; 单元测试了,一切似乎都没问题.然后是将它们放入SQL CLR程序集的那一天..唉!,SQL2008只支持低于框架3.5的程序集!采用c#4.0功能的日子现在必须被丢弃并滑回c#2.0.花了很多天.
我可以将Framework 4 CLR程序集与SQL2010一起使用吗?
SQL2008R2中是否支持框架4.0支持?如果是的话?
我在工作中维护一个C#程序,由于硬盘崩溃,我已经丢失了一大堆已经部署的版本的代码(这是我自己的错误,因为我没有经常推送git存储库)现在我必须做一些更改该程序.我有程序的旧版本的源代码,我想反编译exe并将其与旧源合并以恢复丢失的代码.
我知道我可以使用像反射器这样的工具反编译,但我不想手动将它与旧代码合并,因为我可以再次编码更改(大约1-2天的工作).这是可能的还是我必须手动完成代码转储?