小编Gis*_*shu的帖子

.NET语言真的会对消费者桌面应用程序造成任何影响吗?

难道写使用.NET语言消费的桌面应用程序?如果是这样的类型?

我的印象是,大多数消费者桌面应用程序仍然是C,C++等本机编译的应用程序.

虽然.NET语言越来越受欢迎,但是这些新的应用程序是否会突破企业和Web领域,成为高街消费者应用程序?

例如,现在看看你的桌面?有多少应用程序是用.NET语言编写的,Firefox?微软办公软件?雷鸟?iTunes的?Microsoft Visual Studio?

我公司开发高端CAD/CAE应用程序,我们利用新技术,但我们的核心开发仍然使用C++完成.

.net desktop native

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

VB.Net中我的功能的文档在哪里?

不,我不是一个聪明人......

对于那些有幸不知道My class的人:它是在VB 2005添加的(并且在C#中不存在),最好被描述为".net框架的快速拨号". 假设让那些不会阅读他们应该使用的框架类的新手更容易生活

Dim contents As String
contents = My.Computer.FileSystem.ReadAllText("c:\mytextfile.txt")
Run Code Online (Sandbox Code Playgroud)

而不是这个:

Dim contents As String
contents = IO.File.ReadAllText("c:\mytextfile.txt")
Run Code Online (Sandbox Code Playgroud)

我的问题:MSDN文档页面在哪里,其中speeddial按钮映射到什么..?
通过选择要素的名称作为我的 - 他们只是让搜索变得更加有趣.我需要使用C#进行编码,并且无法承受翻译专门处理VB的培训/操作方式办公室视频的乐趣.

更多关于Dans的内容

Juval Lowy将C#中的My as That移植为临时解决方案.不要问我为什么......

.net vb.net visual-studio-2005

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

什么是"云操作系统"?

使用Microsoft Azure和Windows 7这个术语变得"更热".有
什么好处+桌面计算的现状现在如何变化?机器是否不再需要安装操作系统(或典型操作系统的高度剥离版本)......与"云"交互需要什么?

更新:今天收到我的第一个RTFM.
详细说明..我很想知道今天典型的桌面操作系统提供的服务的"新方式"有多么不同(阅读Win XP/Vista,linux风味等等)...不是云的好处计算.

windows cloud azure

8
推荐指数
3
解决办法
2922
查看次数

为什么调用IEnumerable <string> .Count()会创建一个额外的程序集依赖项?

假设这个dll链引用

Tests.dll >> Automation.dll >> White.Core.dll
Run Code Online (Sandbox Code Playgroud)

使用Tests.dll中的以下代码行构建所有内容

result.MissingPaths 
Run Code Online (Sandbox Code Playgroud)

现在我把它改成了

result.MissingPaths.Count()
Run Code Online (Sandbox Code Playgroud)

我得到Tests.dll的以下构建错误"White.UIItem未在未引用的程序集中定义.您必须添加对White.Core.dll的引用." 我不想这样做,因为它打破了我的分层.

以下是结果的类型定义,它位于Automation.dll中

public class HasResult
        {
            public HasResult(IEnumerable<string> missingPaths )
            {   MissingPaths = missingPaths;           }

            public IEnumerable<string> MissingPaths { get; set; }

            public bool AllExist
            {
                get { return !MissingPaths.Any(); }
            }
        }
Run Code Online (Sandbox Code Playgroud)

在调用链下面,通过(TreeNode类在White.Core.dll中)创建此ctor的输入参数.

assetPaths.Where(assetPath => !FindTreeNodeUsingCache(treeHandle, assetPath));
Run Code Online (Sandbox Code Playgroud)

为什么在IEnumerable上调用Count()时这个依赖项会泄漏?然后我怀疑懒惰的评估导致了这个(由于某种原因) - 所以我在上面的一行中插入了一个ToArray()但是没有用.

更新2011 01 07: Curiouser和Curiouser!在添加White.Core引用之前,它不会构建.所以我添加一个引用并构建它(为了找到难以捉摸的依赖源).在Reflector中打开它,列出的唯一引用是Automation,mscorlib,System.core和NUnit.所以编译器丢弃了White引用,因为它不需要.ILDASM还确认没有White AssemblyRef条目.

关于如何深入了解这件事的任何想法(主要是'现在我想知道为什么'的原因)?这是VS2010/MSBuild错误的可能性有多大?

更新2011 01 07#2 根据Shimmy的建议,尝试将explcitly方法称为扩展方法

Enumerable.Count(result.MissingPaths)
Run Code Online (Sandbox Code Playgroud)

它停止了抄袭(不知道为什么).
但是之后我移动了一些代码,现在我使用IEnumerable在不同的位置获得相同的问题 - 这次是从磁盘上的文件读取和过滤行(完全与白色无关).似乎它是一个'症状修复'.
var lines = File.ReadLines(aFilePath).ToArray(); 再次,如果我删除ToArray()它再次编译 - 似乎导致可枚举的任何方法(ToArray,Count,ToList等)导致这种情况.让我尝试一个工作的小应用程序来演示这个问题......

更新2011 01 07#3 P!更多信息..事实证明问题只在一个源文件中 - 这个文件是LINQ-phobic.必须显式调用对Enumerable扩展方法的任何调用.我做的重构导致一个新的方法被移动到这个源文件,它有一些LINQ …

.net c# linq

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

适当的单元测试:测试没有[可访问]状态或返回值的方法

我对单元测试有些新意.关于正确测试的一件事(现在)让我感到困惑.

例如,如果主方法没有状态且只有控制台输出,那么如何测试它?像这样,myServer方法和状态是私有的吗?

 public static void main(String[] args)
 {
     Server myServer = new Server()
     if(myServer.start())
          System.out.println("started");
     else
          System.out.println("failed"); 
 }
Run Code Online (Sandbox Code Playgroud)

我不想更改我的代码并公开我的服务器方法和状态以使它们公开.

注意,我不是问如何测试myServer.start(),我问的是如何测试main()本身.

请告诉我.

谢谢你们,jbu

unit-testing

7
推荐指数
2
解决办法
4036
查看次数

好的做法:如何重用.csproj和.sln文件来为CI创建MSBuild脚本?

使用MSBuild作为构建运行器的无痛/可维护方式是什么?(原谅这篇文章的篇幅)

我只是在TeamCity尝试(我必须说这是非常棒的学习曲线和开箱即用的功能).我有一个SVN> MSBuild> NUnit> NCover组合工作.

我很好奇中等到大型项目是如何使用MSBuild的 - 我只是将MSBuild指向我的主sln文件.几年前我和NAnt一起度过了一段时间,我觉得MSBuild有点迟钝了.对于初学者来说,文档太密集/详细.

MSBuild似乎有一些特殊的魔法来处理.sln文件; 我尝试手工编写自定义构建脚本,按顺序链接/包括.csproj文件(这样我就可以进行自定义的事后构建任务).然而它呕吐(引用重复的目标导入).我假设大多数开发人员都不想搞乱使用msbuild proj文件 - 他们会对.csproj和.sln文件进行更改.是否有一些工具/ MSBuild任务可以从我不知道的现有.sln +其.csproj文件中反向设计一个新脚本?

如果我正在使用MSBuild来执行编译步骤,我不妨将Nant与exec任务一起使用到MSBuild来编译解决方案?我有这种唠叨的感觉,我错过了一些明显的东西.

我的最终目标是拥有一个MSBuild构建脚本

  • 它构建了解决方案
  • 它充当构建脚本而不是编译步骤.允许自定义的前/后任务.(例如,调用nunit来运行一个nunit项目(似乎尚未通过teamcity web UI支持))
  • 不要让开发人员改变解决方案.没有冗余; 不应该要求开发者在2个地方做同样的改变

.net msbuild continuous-integration

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

开发后测试的缺陷是什么?

最近我被分配到一个已经处于中途的项目.这是TDD环境.每个人都遵循代码单元测试优先和实施代码的正确原则.但是一对夫妇反向做,先实施代码,然后进行单元测试.

虽然在辩论中他们说两种方式都类似.

如果首先执行代码并稍后执行单元测试,可能会出现哪些潜在问题?

tdd unit-testing

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

如何有效地保留.Net字体对象?

用例:用户对设计图面上的对象进行字体自定义,我需要加载/保存到我的数据存储区.即Bold,Italics,Size,Font Name等设置需要保留.

是否有一些简单(和可靠)的机制来转换/从字体对象的字符串表示回读(在这种情况下,我只需要一个属性)?或者是多个属性与自定义逻辑相结合的正确选项?

.net fonts serialization

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

为什么允许ImageSource作为WPF资源?

为什么ResourceDictionary中的这一行不会导致编译错误?

<Window.Resources>
    <ResourceDictionary>
        <ImageSource x:Key="aKey">SomePath</ImageSource>
    </ResourceDictionary>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

我的理解是,这将导致使用默认ctor创建ImageSource实例.然后设置所有指定的属性.

但是ImageSource是一个抽象类 - 那么为什么这不会导致编译错误?

wpf resources

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

如何在标有属性的目标上记录方法调用?

是否可以将Loggin行为注入标记的类或/和方法,如下所示:

Log("Method {0} started",GetMethodNameTroughReflection)
Call method body
Log("Method {0} Finished",GetMethodNameTroughReflection)
Run Code Online (Sandbox Code Playgroud)

我想创建自己的Attribute类,它将实现方法调用的记录行为.

我想描述app.config文件中的登录行为,可以通过config中的设置禁用它.

怎么做对了?也许为这样的任务创建了解决方案?

c#

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