Tag: build

为什么网站项目在配置中没有发布模式?

我目前正在网站项目中工作 。我想在发布模式下构建项目,遗憾的是,visual studio没有用于构建的发布模式,只有调试模式。 在Web应用程序项目中,我们在构建调试和发布中看到两个选项。 我想知道为什么网站项目在build中有调试模式。我读过关于调试和发布模式构建,发布模式具有优化代码并且开销较少 。

Visual Studio的当前构建操作类型 – Microsoft.VisualStudio.Shell.Interop

在某些扩展中,我们实现了用于使用AdviseUpdateSolutionEvents注册调用者的IVsUpdateSolutionEvents2和IVsSolutionBuildManager2 例如,在任何构建操作开始之前调用此方法: public int UpdateSolution_Begin(ref int pfCancelUpdate) { … } 但是,还需要获取当前构建操作的状态或类型,例如:build / rebuild / clean / deploy 可用和已知的变体: BuildEvents 使用Events.BuildEvents,我可以订阅OnBuildBegin,例如: _buildEvents.OnBuildBegin += new _dispBuildEvents_OnBuildBeginEventHandler((vsBuildScope Scope, vsBuildAction Action) => { buildType = (BuildType)Action; }); 并在任何地方使用buildType,因为vsBuildAction提供了所有必要的信息 但是UpdateSolution_Begin / UpdateSolution_StartUpdate首先作为优先级使用advising方法调用,因此buildType设置太晚了.. 我们也可以使用这个OnBuildBegin而不是UpdateProjectCfg_Begin / UpdateSolution_StartUpdate,但是我们的处理也需要尽快与优先调用者一起使用 IVsUpdateSolutionEvents4 IVsUpdateSolutionEvents4.UpdateSolution_BeginUpdateAction提供dwAction并在解决方案构建期间每个更新操作开始之前触发 – 在第一个UpdateProjectCfg_Begin之前 这正是我需要的! 因为dwAction我可以用VSSOLNBUILDUPDATEFLAGS查看 但是:(它出现在VS2012,我们的扩展支持VS2010和更高……所以也需要2010版本的变种 UpdateProjectCfg_Begin IVsUpdateSolutionEvents2.UpdateProjectCfg_Begin还提供dwAction(参见VSSOLNBUILDUPDATEFLAGS )并可用于2010版本,但它与第一​​个BuildEvents变体相同 – 处理时间太晚(并且不太适合我们的任务) 题 我找不到这方面的文档,但VSSOL可以为VS2010提供VSSOLNBUILDUPDATEFLAGS ,所以我认为应该是将其作为构建操作的当前状态的变体,例如,对于IVsHierarchy等__VSHPROPID和GetProperty […]

Visual Studio:如何正确构建和指定x64和x86的配置和平台

使用:Visual Studio 2012 Professional和Ultimate以及所有最新更新 如何正确指定配置和平台以正确构建x86和x64。 Visual Studio,当您第一次创建Winforms应用程序时,会为您提供两个配置,Debug和Release,AnyCPU定义为平台。 如果您只针对一个平台,那么答案很简单,您可以转到Build | 配置管理器并选择其中一个平台,然后转到项目属性的构建页面并选择相同的平台(x86或x64)并瞧! 你结束了(说你想要x86) /bin/x86/Debug /bin/x86/Release 我有一个应用程序和多个依赖项目(DLL程序集)的解决方案。 由于VS Configuration Manager顶部有两个下拉列表,配置和平台,然后在项目级别有另一个配置和平台,我执行了以下操作: (在进一步打字之前,我认为整个设置很糟糕,但……) 我使用最顶层的下拉列表和为平台选择的混合平台创建了两个新配置Debug64和Release64。 我依次选择了四种主要解决方案配置中的每一种,然后将项目级别配置和项目级别平台设置为匹配,因此: Debug64 === Debug64, x64 Release64 === Release64, x64 Debug === Debug, x86 Release === Release, x86 然后我进入项目属性(Alt + Enter)构建页面,忽略平台并依次选择每个配置,然后设置目标处理器以匹配。 我将输出更改为以下内容: Debug64: /bin/x64/Debug Release64: /bin/x64/Release Debug: /bin/x86/Debug Release: /bin/x86/Release 默认情况下,Visual Studio使用顶级平台设置文件夹和配置名称以设置输出的最后部分。 如果我保存并关闭项目属性,那么一切似乎都很好。 我可以构建,并使用适当的文件夹。 当我在Visual Studio工具栏上切换解决方案配置时,问题就来了。 项目属性构建页面默认恢复到它想要的状态,即比如/ […]

是什么导致错误“The ResolveManifestFiles”任务意外失败。路径中的字符非法

The “ResolveManifestFiles” task failed unexpectedly. System.ArgumentException: Illegal characters in path. at System.Security.Permissions.FileIOPermission.HasIllegalCharacters(String[] str) at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList) at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath) at System.IO.Path.GetFullPath(String path) at Microsoft.Build.Tasks.Deployment.ManifestUtilities.Util.RemoveDuplicateItems(ITaskItem[] items) at Microsoft.Build.Tasks.ResolveManifestFiles.set_NativeAssemblies(ITaskItem[] value) The “NativeAssemblies=@(NativeReferenceFile);@(_DeploymentNativePrerequisite)” parameter for the “ResolveManifestFiles” task is invalid. The “ResolveManifestFiles” […]

TeamCity 8中的DotCover不起作用

我尝试使用我的NUnit测试运行dotCover,在TeamCity 8中作为构建步骤。 但是没有遇到我尝试的东西我总是在日志文件中得到相同的错误: 步骤4/4:覆盖范围(NUnit)(1s) [步骤4/4]开始:C:\ TeamCity \ buildAgent \ plugins \ dotnetPlugin \ bin \ JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit 目录中的[步骤4/4]:C:\ TeamCity \ buildAgent \ work \ 6aee0f0d2626793d [步骤4/4] ## teamcity [importData type =’dotNetCoverage’tool =’dotcover’file =’C:\ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data’] [步骤4/4]使用’dotNetCoverage’处理器从’C:\ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data’导入数据 [步骤4/4]拒绝的覆盖率报告文件:C:\ TeamCity \ […]

Visual Studio是否可以将项目引用编译到与主.exe不同的文件夹中

我有一个WPF应用程序项目,在VS 2008中的单个解决方案中有几个项目引用。当我编译我的解决方案时,所有引用的dll都输出到主.exe输出到的同一文件夹中。 是否可以配置我的主.exe项目构建输出相对于我的.exe的子文件夹中的所有引用? 我希望最终的结果是这样的: MyApp.exe MyApp.exe.config Lib \ SomeReference.dll Lib \ SomeReference2.dll (我假设如果可能,任何.exe都可以)。 谢谢! 乔恩

Visual Studio在开始构建之前等待很久

我们有一个中等规模的解决方案,约有20个项目。 在其中一个我有我的业务实体。 在编译任何项目时,visual studio会在此BusinessEntities项目上等待并挂起大约一分半钟。 我在SharpDevelop中尝试了我们的解决方案,它在18秒内编译了我们的完整解决方案。 与MSBuild类似的时机。 我的猜测是VS试图找出项目是否需要编译,但这个过程比实际执行编译慢了大约15倍! 我不能切换到伟大的尖锐的开发,它缺乏一些小的,但我们的调试方案的基本要求。 我可以阻止VS检查这个项目,并让它在没有这样的检查的情况下编译项目,就像sharpdevelop? 我已经知道在配置管理中取消选中项目以防止构建一些项目,但是我的开发人员会忘记他们需要在更新到最新源之后编译这个项目,并且他们遇到的问题对他们来说似乎很奇怪。 编辑:有趣的调查结果:延迟发生在其中一个项目中。 在配置管理器中,我取消选中所有项目,然后单独编译它们。 所有项目都在几秒钟内编译完成!! 重点在于:如果直接构建该特殊项目,则在几秒钟内编译,如果正在构建(或跳过,因为它是最新的),因为构建依赖于它的另一个项目,VS挂起大约一分半钟,然后决定编译它(或跳过它)。 我的结论是:Visual Studio正在检查是否有任何文件被更改,但由于某些原因,对于这个特殊项目来说效率极低!

是否有Visual Studio Build Profiler?

我的VS.NET 2008解决方案需要更长的时间来编译(ASP.NET 3.5 + ASP.NET MVC 2 + C#),我想知道是否有办法知道哪个项目需要更长的时间来编译,为什么? 我禁用了一些项目的编译,它有助于减少构建时间,但我希望它更快。

构建服务器上的mstest.exe错误

如何在Build中使用正确的Mstest.exe? 我的配置: TFS2012 VS2010 然后我安装: VS2012 VS2012更新3 VS2010服务包1 Team Explorer 2012(忙于安装) 在测试msbuild“挂起”时,Build Compile是成功的… 我想使用VS2012 mstest(11.0)而不是VS2010(10.0) C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ mstest.exe 代替 C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ mstest.exe 这会导致构建挂起。 在构建服务器上执行11.0 \ mstest.exe时,它正常工作。

Hololens Build Failing – 命令AssemblyConverter.exe退出,代码为1

更新到VS 2017(版本15.3.2)的最新版本后,我从Unity生成的Hololens版本仍然没有收到此消息: 命令“”C:\ TestFile \ HoloBuild \ VSApp \ Unity \ Tools \ AssemblyConverter.exe“-platform = uap -lock =”C:\ TestFile \ HoloBuild \ VSApp \ HoloBuild \ project.lock.json“-bits = 32 -configuration = Debug -removeDebuggableAttribute = False -uwpsdk = 10.0.15063.0 -path =“。” – path =“C:\ Program Files \ Unity \ Editor \ Data \ PlaybackEngines \ MetroSupport […]