标签: msbuild

在ASP.NET MVC中编译视图

我想要一个msbuild任务来编译视图,这样我就可以看到编译时是否存在编译错误...编译时.有任何想法吗?

asp.net msbuild asp.net-mvc

545
推荐指数
7
解决办法
10万
查看次数

解决MSB3247 - 发现同一依赖程序集的不同版本之间存在冲突

在使用msbuild进行编译时,.NET 3.5解决方案最终出现此警告.

有时NDepend可能有所帮助,但在这种情况下,它没有提供任何进一步的细节.像Bob一样,我最终不得不在ILDASM中打开每个程序集,直到找到引用旧版依赖程序集的程序集.

我确实尝试使用VS 2010 Beta 2中的MSBUILD(因为Connect文章表明这​​已经在下一版本的CLR中得到修复)但是它没有提供任何更多细节(可能在Beta 2后修复)

有更好的(更自动化的)方法吗?

.net msbuild clr ndepend

422
推荐指数
7
解决办法
19万
查看次数

在构建服务器上找不到Microsoft.WebApplication.targets.你的解决方案是什么?

尝试在构建服务器上构建我的项目给出了以下错误:

Microsoft (R) Build Engine Version 4.0.30319.1
error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the …
Run Code Online (Sandbox Code Playgroud)

msbuild .net-4.0 build-server targets dbproj

397
推荐指数
13
解决办法
26万
查看次数

发现无法解析的同一依赖程序集的不同版本之间的冲突

当我清理并构建包含多个项目的解决方案时,输出窗口会报告构建成功.但是,当我查看错误列表窗口时,它会显示此警告:

发现无法解析的同一依赖程序集的不同版本之间的冲突.当日志详细程度设置为详细时,这些引用冲突将在构建日志中列出.C:\ Program Files(x86)\ MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets

当我双击此消息时,它会打开C:\ Program Files(x86)\ MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets文件,但我不明白其中的任何内容.

我正在使用Visual Studio Express 2013进行Web.

如何找出错误以及哪个DLL以及如何使警告消失?

.net msbuild visual-studio-express visual-studio

349
推荐指数
9
解决办法
24万
查看次数

此项目引用此计算机上缺少的NuGet包

我有一个ASP.NET MVC5应用程序,昨天工作,现在我在尝试构建时收到此错误:

此项目引用此计算机上缺少的NuGet包.

我检查了两个选项,允许nuget自动下载并安装检查/打开的缺失包.我还尝试删除packages文件夹中的所有文件,然后让nuget重新下载它们.此外,当我打开nuget并寻找更新时,它说没有必要安装.我无法想象还有什么可以超越这个令人惊讶的恼人问题.

msbuild visual-studio-2010 visual-studio nuget

284
推荐指数
12
解决办法
15万
查看次数

如果在解决方案中使用项目依赖项,MSBuild不会复制引用(DLL文件)

我的Visual Studio解决方案中有四个项目(每个人都针对.NET 3.5) - 对于我的问题,这两个项目很重要:

  1. MyBaseProject < - 此类库引用第三方DLL文件(elmah.dll)
  2. MyWebProject1 < - 此Web应用程序项目引用了MyBaseProject

我加入了elmah.dll参考MyBaseProject通过点击在Visual Studio 2008中的"添加引用..."→"浏览"选项卡→选择"elmah.dll".

Elmah Reference的属性如下:

  • 别名 - 全球
  • 复制本地 - true
  • 文化 -
  • 说明 - 错误记录ASP.NET的模块和处理程序(ELMAH)
  • 文件类型 - 装配
  • 路径 - D:\ webs\otherfolder\_myPath\__ tools\elmah\Elmah.dll
  • 已解决 - 真的
  • 运行时版本 - v2.0.50727
  • 指定版本 - false
  • 强名 - 假
  • 版本 - 1.0.11211.0

MyWebProject1中,我通过以下方式添加了对Project MyBaseProject的引用:"Add reference ..."→"Projects"选项卡→选择"MyBaseProject".除以下成员外,此引用的属性相同:

  • 描述 -
  • 路径 - D:\ webs\CMS\MyBaseProject\bin\Debug\MyBaseProject.dll
  • 版本 - 1.0.0.0

如果我在Visual Studio中运行构建,则elmah.dll文件将与MyBaseProject.dll一起复制到MyWebProject1的bin目录中!

但是,如果我清理并运行MSBuild解决方案(通过D:\ webs\CMS> C:\ …

msbuild dependencies reference project visual-studio

271
推荐指数
9
解决办法
14万
查看次数

如何使用msbuild发布Web?

Visual Studio 2010具有"发布"命令,允许您将Web应用程序项目发布到文件系统位置.我想在我的TeamCity构建服务器上执行此操作,因此我需要使用解决方案运行程序或msbuild.我尝试使用Publish目标,但我认为这可能适用于ClickOnce:

msbuild Project.csproj /t:Publish /p:Configuration=Deploy
Run Code Online (Sandbox Code Playgroud)

我基本上想要完成Web部署项目的功能,但没有加载项.我需要它来编译WAP,删除执行不必要的任何文件,执行任何web.config转换,并将输出复制到指定的位置.

我的解决方案基于Jeff Siver的回答

<Target Name="Deploy">
    <MSBuild Projects="$(SolutionFile)" 
             Properties="Configuration=$(Configuration);DeployOnBuild=true;DeployTarget=Package" 
             ContinueOnError="false" />
    <Exec Command="&quot;$(ProjectPath)\obj\$(Configuration)\Package\$(ProjectName).deploy.cmd&quot; /y /m:$(DeployServer) -enableRule:DoNotDeleteRule" 
          ContinueOnError="false" />
</Target>
Run Code Online (Sandbox Code Playgroud)

asp.net msbuild teamcity visual-studio-2010 msdeploy

208
推荐指数
7
解决办法
20万
查看次数

如何在不安装IDE的情况下在构建服务器上安装VS2017版本的msbuild?

从历史上看,这已经使用Microsoft Build Tools完成.但似乎构建工具可能不适用于2015年之后的版本.替换似乎是Visual Studio构建工具,它似乎还没有真正的主页.

我下载了VS2017 Professional安装程序,然后转到Individual Components选项卡.然后,摘要告诉我Visual Studio核心编辑器在那里,占用753MB.我不想要编辑.只是msbuild.没有办法取消选择编辑器.

有没有办法安装最新版本的msbuild而不安装Visual Studio IDE?

msbuild build-tools build-server visual-studio-2017

193
推荐指数
1
解决办法
13万
查看次数

MSBuild的路径

我如何以编程方式从运行.exe的机器获取MSBuild的路径?

我可以从环境中获取.NET版本但是有没有办法为.NET版本获取正确的文件夹?

.net msbuild

182
推荐指数
12
解决办法
14万
查看次数

始终禁用Delphi XE自定义生成目标

我已经创建了一个自定义的MSBuild .targets文件,我通过IDE将其包含在Delphi XE项目中,并从项目管理器的上下文菜单中启用它.虽然文件验证,但在重新保存项目文件后它总是被禁用.

这是目标文件的简化版本,名为Custom.targets.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Hello">
    <Message Text="Hello from custom target"/>
  </Target>
</Project>
Run Code Online (Sandbox Code Playgroud)

作为一个独立的文件,这按预期工作:输入...

MSBuild Custom.target /t:Hello
Run Code Online (Sandbox Code Playgroud)

...在命令行中给出了预期的消息.

Custom.targets通过IDE 添加到Delphi项目会按预期在项目管理器中显示该文件,该.dproj文件现在包含该行...

<TargetsFile Include="Custom.targets"/>
Run Code Online (Sandbox Code Playgroud)

我在IDE的项目管理器中右键单击该文件并进行选择Enable.但是在构建项目时,Build消息窗口显示:

[MSBuild警告] Custom.targets(1):忽略禁用导入: PathToProjectSource\\Custom.targets

在项目管理器中再次右键单击仍显示该Enable选项而不是预期Disable.

在命令行MSBuild ProjectName.dproj /t:Hello也失败了.

我试过黑客攻击.dproj文件添加行...

<Import Project="Custom.targets"/>
Run Code Online (Sandbox Code Playgroud)

打字MSBuild ProjectName.dproj /t:Hello现在有效.但是下次我从IDE保存项目文件时,<Import>语句将被删除.

有人知道出了什么问题吗?

delphi msbuild delphi-xe

177
推荐指数
1
解决办法
2951
查看次数