C# Windows Mobile 6.5构建时(VS2008)
我有一个小的windows mobile应用程序,大约有25个表单,可能有50个类,分为3个项目。 当我构建项目时,在调试模式下正常的CTRL-SHIFT-B需要25到40分钟 我已经试过了,但似乎没有用 环境是VS 2008C# 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 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存储库。)首先,好消息是:您可以缩短较长的构建时间,
下面是“坏消息”,即工作:
首先尝试构建互操作库,然后在任何需要的地方使用它们
仅当生成更改二进制文件时,使用项目的BuildEvents属性中的
在生成更新项目输出时运行,以调用生成后事件
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。互操作与以前相同,只需创建一次并将其复制到目标