Tag: msbuild

我们如何使用Cake构建对安全的NuGet服务器进行身份validation?

我们正在使用Cake Build自动化我们的构建,我们使用nuget.org的NuGet包,但我们也有自己的NuGet Feed服务器,它具有访问的用户名/密码认证。 我们如何利用带有身份validation的自定义NuGet提要服务器来使用Cake Build?

以编程方式调用EntityDeploy构建任务

我正在使用Roslyn编译,发出和运行C#源代码。 但是,当遇到使用EntityFramework的项目时,我遇到了限制。 似乎只是简单地发出编译是不够的,因为有一个EntityDeploy构建任务在它们被发出后操纵它们。 (我相信它在发布后会在DLL中嵌入元数据工件)。 在我正在处理的.csproj文件中,我看到以下实体部署任务: EntityModelCodeGenerator Northwind.Designer.cs 是否可以直接调用此构建任务并操纵我发出的DLL? 注意:我不想简单地调用msbuild.exe或在.csproj文件中的所有内容上运行MSBuild 。 我正在构建的项目存在于内存中,但不存在于磁盘上,因此在我的情况下不起作用。 我尝试过的: 我正在尝试学习如何使用Microsoft.Build.Evaluation东西。 我可以找到EntityDeploy任务,但我不知道如何调用它(以及我应该提供的参数)。 var project = new Project(@”C:\Users\JoshVarty\Documents\Visual Studio 2015\Projects\WebApplication1\WebApplication1\WebApplication1.csproj”); //Get the entity deploy target? I’m not sure if this is a task or target. var entityDeploy = project.Targets.Where(n => n.Key == “EntityDeploy”).Single(); var projectTargetInstance = entityDeploy.Value; 我也尝试查看磁盘上存在的EntityDeploy构建任务。 var entityDeployTask = new Microsoft.Data.Entity.Build.Tasks.EntityDeploy(); entityDeployTask.Sources […]

以编程方式构建msbuild 15项目

我正在尝试构建一个使用VS2017创建的简单C#7类库项目。 框架程序集中的MSBuild已过时,因此我在C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin MSBuild文件夹中引用Microsoft.Build , Microsoft.Build.Engine和Microsoft.Build.Framework ( C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin )。 当我这样做时: using (var collection = new ProjectCollection()) { var proj = collection.LoadProject(@”c:\projects\Sample\Sample.csproj”); // <– exception proj.Build(new[] {new ConsoleLogger()}); } 我收到了InvalidProjectFileException: The tools version “15.0” is unrecognized. Available tools versions are “4.0”, “2.0”. InvalidProjectFileException: The tools version “15.0” is unrecognized. […]

由Microsoft.NET.Sdk.Functions引起的版本冲突

我有一个项目引用2个软件包的问题,​​然后引用Newtonsoft.Json,但两个版本都不同。 我正在使用Refit和Microsoft.NET.Sdk.Functions的nuget包。 当我尝试构建解决方案时,我收到以下错误: C:\dev\noddy\noddy-api\src\noddy.Api>dotnet build C:\dev\noddy\noddy-api\src\noddy.Api\noddy.Api.csproj : error NU1607: Version conflict detected for Newtonsoft.Json. Reference the package directly from the project to resolve this issue. \r C:\dev\noddy\noddy-api\src\noddy.Api\noddy.Api.csproj : error NU1607: noddy.Api (>= 1.0.0) -> Refit (>= 4.0.1) -> Newtonsoft.Json (>= 10.0.3) \r C:\dev\noddy\noddy-api\src\noddy.Api\noddy.Api.csproj : error NU1607: noddy.Api (>= 1.0.0) -> Microsoft.NET.Sdk.Functions (>= 1.0.2) -> Newtonsoft.Json […]

编译XNA项目时,无法执行请求的操作错误

第二次编译项目时,我收到以下错误消息。 我必须关闭VS 2010并在重新加载时进行编译。 如果我做出改变,问题就会回来。 “无法复制文件”obj \ x86 \ Debug \ MyFile.dll“。无法对打开用户映射部分的文件执行请求的操作。”

Visual Studio 2013解决方案构建不在构建顺序中

我在使用C#解决方案构建“Fresh”时遇到了问题。 如果我清理解决方案并再次构建它将无法构建(我可以做几次并且它将构建)。 它有一个关于azure项目在它依赖的worker和web项目之前构建的错误。 还有关于解决方案中的大多数项目是如何寻找的 WAT070 : The referenced assembly {…}/Worker.dll was not found. Please make sure to build the role project that produces this assembly before building this Windows Azure Cloud Service Project. {…}\VisualStudio\v12.0\Windows Azure Tools\2.2\Microsoft.WindowsAzure.targets 1252 5 AzureProjectName 现在,如果我按照项目依赖项中列出的顺序构建项目 – >构建顺序一切正常。 此外,在Azure项目之前列出了Web和工作角色。

使用CruiseControl.NET和MSBuild发布网站

我正在尝试设置CruiseControl.NET以自动从SVN( VisualSVN_Server )下载新版本并将其发布到beta目录。 这是关于MSBuild的CruiseControl.NET配置文件: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\CI\WORKING WashMyCarHomepage\WashMyCarHomepage.csproj /noconsolelogger /p:Configuration=Debug /v:diag /p:WebProjectOutputDir=C:\inetpub\wwwroot.beta Build;Test 900 C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll CruiseControl.NET成功运行MSBuild,但MSBuild失败: standard-error stream closed — null received in event standard-output stream closed — null received in event process exited event received 我还试图从控制台手动运行MSBuild,以尝试它是否单独工作。 但我无法获得正确的输出(可在网上发布)。 我试过了: C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild.exe C:\CI\WORKING\WashMyCarHomepage\WashMyCarHomepage.csproj /property:OutDir=C:/CI/TEST;Configuration=Release /t:Publish 但该项目被“跳过不可发布的项目”所忽略。 我有一个以下解决方案的结构: WashMyCarHomepage\WashMyCarHomepage.sln WashMyCarHomepage\Repository\Repository.csproj WashMyCarHomepage\WashMyCarHomepage\WashMyCarHomepage.csproj 我该如何解决这个问题?

计算VS_KEY容器名称

如何计算VS_KEY容器名称? 它们通常是这样的:VS_KEY_71E582524B5DDE29。 我假设它基于计算机名称但是如果我们运行的云服务每次实例重新启动时随机更改计算机名称会怎么样? 我们需要在实例启动时拥有容器名称,以便我们知道将私钥存储到哪个容器中,因此构建工具和所有工作都应该如此。 我们需要自动设置容器名称。 所以基本上我们需要找到一种方法来在每次计算机重新启动时生成正确的容器名称。 任何提示或帮助?

TeamNet对.Net项目的增量测试

我正在构建模块化WPF应用程序。 每个屏幕都是一个高度独立和孤立的单元。 唯一共享的东西 – shell和一个带有可重用服务的外观接口的公共库(消息总线,持久性,窗口管理等)。 由于模块是松散耦合的,因此在单个模块更改时重新测试所有内容是没有意义的。 我想只测试改变了什么。 如果公共库中有变化 – 应该重新测试所有内容。 从源代码控制diff中,您可以轻松获取已更改的文件列表,从而解决受影响的项目(csproj文件包含要编译的所有文件)。 您还可以从csproj文件(谁使用它,谁受影响)解决项目依赖项。 所有这些信息应足以说明实际需要测试的内容。 所以问题听起来可以解决。 有没有人用TeamCity做过这个? 有什么建议? 我看到有一个Java人员的解决方案: http : //blog.jetbrains.com/teamcity/2012/03/incremental-testing-with-teamcity/ 那个.net领域怎么样?

在没有构建csproj时抑制AfterBuild目标

我在MSBuild中有一个后期构建目标来复制一些构建输出。 它作为依赖于AfterBuild目标(由Microsoft.CSharp.targets公开)链接: 如果构建实际上没有重新构建,有没有办法避免文件被复制? 例如,当MSBuild依赖关系分析声明项目不需要构建因为它的源文件都没有更新时,它不会构建,但仍然执行我的复制目标。 有什么办法可以防止这种情况吗?