我有一个ASP.NET MVC5应用程序昨天工作,现在我得到这个错误,当我尝试构build: 这个项目引用了这台计算机上缺less的NuGet包。 我有两个选项选中,允许nuget自动下载并安装丢失的包检查/打开。 我也尝试删除包文件夹中的所有文件,然后让nuget重新下载它们。 另外,当我打开nuget,并寻找更新说,没有任何需要安装。 我无法想象还有什么办法可以超越这个令人震惊的问题。
当我清理并构build具有多个项目的解决scheme时,输出窗口将报告构build成功。 但是,当我查看错误列表窗口 ,它显示我这个警告: 发现不能解决的相同相关程序集的不同版本之间的冲突。 当日志详细程度设置为详细时,这些参考冲突在构build日志中列出。 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,然后怎么让警告消失呢?
试图在构build服务器上构build我的项目给我以下错误: 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 […]
我怎样才能从我的.exe运行的机器上编程获取MSBuild的path? 我可以从环境中获得.NET版本,但有没有办法为.NET版本获取正确的文件夹?
我正在开发一个Web应用程序项目,我需要创build一个构build脚本; 一个构build脚本,我可以从我的巡航控制服务器触发。 由于nant没有被保存很久,我认为MSBuild是要走的路。 我需要构build脚本才能够 编译所有程序集 执行unit testing 对unit testing运行NCover分析 部署数据库(取决于参数)。 这是真的执行一个工具,因为我最终会写我自己的工具来部署数据库。 但是工具的执行应该是基于某些命令行参数的条件。 以巡航控制可以阅读和理解的格式提供unit testing和覆盖范围结果。 我假设MSBuild将允许我做所有这些事情。 但我不知道从哪里开始。 有谁知道一个很好的教程让我开始我的构build脚本?
Vishal Joshi 提供了一个很好的PDC讲述,介绍了Visual Studio 2010中的新MSDEPLOYfunction,以及如何在TFS中部署应用程序。 ( Scott Hanselman也有一个很好的演讲,但他没有进入TFS)。 您可以在TFS2010中使用MSBUILD调用MSDEPLOY将您的软件包部署到IIS。 这是通过参数MSBUILD完成的。 谈话解释了一些命令行参数,例如: /p:DeployOnBuild /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=InProc /p:MSDeployServiceURL=localhost /p:DeployIISAppPath="Default Web Site" 但是这里的文档在哪里 – 我找不到? 我花了整整一天的时间试图让这个工作,不能完全正确的,并不断结束各种错误。 如果我运行包的cmd文件,它完全部署。 如果我通过Visual Studio运行WebDeploy,它也可以很好地工作。 但我想通过使用这些参数通过msbuild运行整个部署,而不是单独调用msdeploy或运行包.cmd文件。 我该怎么做? PS。 是的,我确实运行了Web Deployment Agent Service 。 我也有在IIS下运行的pipe理服务。 我试过使用两个。 我正在使用的参数: /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:Configuration=Release /p:CreatePackageOnPublish=True /p:DeployIisAppPath=staging.example.com /p:MsDeployServiceUrl=https://staging.example.com:8172/msdeploy.axd /p:AllowUntrustedCertificate=True 给我 : C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ […]
我有一个大的C#解决scheme文件(~100个项目),我正在努力提高生成时间。 我认为“复制本地”在许多情况下对我们来说是浪费的,但我想知道最佳实践。 在我们的.sln中,取决于程序集B的应用程序A取决于程序集C.在我们的例子中,有几十个“B”和一些“C”。 由于这些都包含在.sln中,我们正在使用项目引用。 所有程序集目前都build立到$(SolutionDir)/ Debug(或Release)。 默认情况下,Visual Studio将这些项目引用标记为“Copy Local”,导致每构build一个“B”,每个“C”被复制到$(SolutionDir)/ Debug中一次。 这似乎是浪费。 如果我只是closures“复制本地”,会出现什么问题? 其他大系统的人做什么? 跟进: 很多的反应表明把构build分解成更小的.sln文件…在上面的例子中,我将首先构build基础类“C”,然后是大部分模块“B”,然后是一些应用程序“一个”。 在这个模型中,我需要从B引用非项目引用。我遇到的问题是“debugging”或“释放”被烘焙到提示path中,并且构build了“B”版本的Release版本。针对“C”的debugging版本。 对于那些将构build分解成多个.sln文件的人,你如何解决这个问题?
我的问题是基于另一个 ,但我想做相反的 :告诉msbuild将该警告视为错误,而不是压制一个特定的msbuild警告。 不过,到目前为止,我所看到的只有/p:WarningsAsErrors只能用于csc警告和错误。 我尝试着丢掉MSB然后用Googlesearch哪些数字可以在那里工作,但没有运气。 有没有办法将msbuild(命令行)的“assembly reference not found”警告视为错误?
我正在尝试使用WebDeploy发布使用自定义MSDeploy跳过规则和保存在Visual Studio 2012中的发布configuration文件的网站。 我的发布configuration文件从命令行工作,但跳过规则跳过删除文件夹不起作用。 我在我的web应用程序中有一个ErrorLog子文件夹,里面有一个web.config文件来设置正确的文件夹权限。 如果没有任何跳过规则, ErrorLog文件夹和web.config文件将正常发布,但在发布时将删除服务器上文件夹中的所有现有错误日志文件。 与<SkipAction>Delete</SkipAction> 当我将自定义跳过规则添加到我的wpp.targets文件时,跳过规则不再接受<SkipAction>元素的值。 如果我设置了<SkipAction>Delete</SkipAction> ,我得到以下错误: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4377,5): error : Web deployment task failed. (Unrecognized skip directive 'skipaction'. Must be one of the following: "objectName," "keyAttribute," "absolutePath," "xPath," "attributes.<name>.") [C:\inetpub\wwwroot\My.Website\My.Website\My.Website.csproj] 如果我简单地省略<SkipAction>元素, ErrorLog文件夹将在正常发布时被删除。 如果我再次设置<SkipAction></SkipAction> , ErrorLog文件夹将在发布时被删除。 如果我设置<KeyAttribute>Delete</KeyAttribute> ,则ErrorLog和web.config文件正常发布。 我的理解是,为了使用自定义跳过规则,您需要从命令行调用MSBuild,而不是从VS 2012中发布。但是,我仍然想使用我保存的发布configuration文件,而且我明白现在可以VS 2012。 我的MSBuild命令行: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe My.Website.sln /p:Configuration=Release;DeployOnBuild=true;PublishProfile="Test Server – Web Deploy" My.Website.wpp.targets: […]
使用Powershell和Psake为Visual Studio解决scheme创build包和部署。 尝试使用msbuild部署数据库项目 – 这是使用msdos visual studio命令行正确工作 msbuild /target:Deploy /p:UseSandboxSettings=false /p:TargetConnectionString="aConnectionWithSpacesAndSemiColons" "aDatabaseProjectPathWithSpaces" 从powershell中调用相同的方法调用会导致错误 & msbuild /target:Deploy /p:UseSandboxSettings=false /p:TargetConnectionString="aConnectionWithSpacesAndSemiColons" "aDatabaseProjectPathWithSpaces" 与空间有关 – 无法弄清楚如何在PowerShell中复制这个调用 – 示例数据库连接string数据源=。\ SQL2008;初始目录= DocumentExecution;集成安全性= True;