C# Windows Mobile 6.5构建时(VS2008)

C# Windows Mobile 6.5构建时(VS2008),c#,visual-studio,visual-studio-2008,msbuild,windows-mobile,C#,Visual Studio,Visual Studio 2008,Msbuild,Windows Mobile,我有一个小的windows mobile应用程序,大约有25个表单,可能有50个类,分为3个项目。 当我构建项目时,在调试模式下正常的CTRL-SHIFT-B需要25到40分钟 我已经试过了,但似乎没有用 环境是VS 2008 Windows Mobile 6.5.3 紧凑型框架2.0 <ProductVersion>9.0.30729</ProductVersion> <OSVersion>5.02</OSVersion> <TargetF

我有一个小的windows mobile应用程序,大约有25个表单,可能有50个类,分为3个项目。 当我构建项目时,在调试模式下正常的CTRL-SHIFT-B需要25到40分钟

我已经试过了,但似乎没有用

环境是VS 2008
Windows Mobile 6.5.3
紧凑型框架2.0

<ProductVersion>9.0.30729</ProductVersion>
<OSVersion>5.02</OSVersion>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<NativePlatformName>Windows Mobile 6.5.3 Professional DTK</NativePlatformName>
9.0.30729
5.02
v2.0
Windows Mobile 6.5.3专业DTK
这台电脑是HP EliteBook 8440p,带有i3@2,4Ghz、4gb内存。
有大量可用的Ram(使用2.2GB)。
编译期间CPU使用率约为25%。

当我构建时,VisualStudio及其所有子窗口在95%的时间内都是空白的

eventviewer不会显示任何特定的警告,如硬盘损坏等

更新1

在进程监视器跟踪中,我可以看到在构建过程中devenv.exe中有定期的网络活动。VSS可能与构建有关吗?
(我通过我今天在旁路模式下使用的vpn隧道到达vss存储库。)

首先,好消息是:您可以缩短较长的构建时间,
下面是“坏消息”,即工作:

  • 尝试使用构建它,以避免VS2008中断或冻结构建
  • 试着找出你的构建速度慢的原因,你可以在构建过程中观察日志的变化
  • 写下特别慢的部分
  • 尝试通过首先加快最慢的项目来解决“构建时间长的问题”。只要您想要更好的性能,或者直到没有更多的项目需要加速,就可以这样做
  • 构建过程中的常见问题:

  • Com引用如果不是单独生成(TLBIMP.exe),则会减慢生成速度
    首先尝试构建互操作库,然后在任何需要的地方使用它们
  • 后期/预构建事件可以完成一些完整但缓慢的工作。。。如果可能,请清理并删除它们
    仅当生成更改二进制文件时,使用项目的BuildEvents属性中的
    在生成更新项目输出时运行
    ,以调用生成后事件
  • SOUTION文件中的引用停止您的MSBUILD生成,因此您应该将它们明确地固定在项目文件中
  • 尝试直接/一次部署每个项目构建后部署要比构建后部署慢解决方案,制作一个“dist.bat”,首先构建,然后部署
  • 您可以使用Visual Studio宏启动当前打开的解决方案的MSBUILD:

    Public Module Builder
    
        Sub BuildSolutionDebug()
            SaveAll()
            Run("", "C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe", """" & GetSolutionName() & """ /t:ReBuild /p:Configuration=Debug /p:Platform=""Mixed Platforms""")
        End Sub
    
        Sub Run(ByVal folder As String, ByVal file As String, ByVal arguments As String)
            Dim process As New System.Diagnostics.Process()
            process.Start(System.IO.Path.Combine(folder, file), arguments)
            Try
                process.WaitForExit()
            Catch ex As Exception
    
            End Try
    
        End Sub
    
        Sub SaveAll()
            DTE.ExecuteCommand("File.SaveAll")
        End Sub
    
        Function GetSolutionName() As String
            Return DTE.Solution.FullName
        End Function
    
    End Module
    
    如果您有其他问题或想讨论某一点,请与我联系。我很乐意帮助你。

    我也很乐意阅读你对这个问题的解决方案,在这一点上你的构建是缓慢的

    您是否尝试禁用防病毒软件?通过禁用解决方案所在的特定文件夹的防病毒功能,我们成功地提高了构建速度。但我们的问题从来没有像你的那么严重!这当然是环境问题。我从来没见过这么长时间。你试过用另一台电脑看有没有变化?这是一台客户电脑,我需要用它。防病毒是最前沿的,我不能禁用构建文件夹,因为它已被锁定。但是,我可以从Process Explorer验证它是否以任何方式出现峰值,它占用了0.1%的cpu使用率。在您的配置管理器下,您是否也在编译安装项目?如果是笔记本电脑,能否将其配置为100%运行?当前配置中跳过(四)个安装项目。这是一台笔记本电脑,它连接到外部电源。还有足够的处理能力,在生成过程中运行process monitor和其他功能根本不会产生任何影响。MSBuild可以从命令行进行部署,还是使用其他方法进行部署?其中一个项目中存在COM引用,我是否应该将其包含在单独的项目中,然后在实际项目中包含互操作文件,或者你会如何处理com引用?引用互操作文件是否会导致需要更改安装项目?1。互操作可以在单独的项目中创建,并从所有其他项目中引用2。互操作必须位于一个包含DLL的文件夹中,您需要在其中使用它,因此您应该将它复制到所需的文件夹3。互操作与以前相同,只需创建一次并将其复制到目标