本文的目的是介绍创建自定义MSBuild任务时如何从C#代码中获取当前项目目录?的详细情况,特别关注c#获取项目的默认路径的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的
本文的目的是介绍创建自定义 MSBuild 任务时如何从 C# 代码中获取当前项目目录?的详细情况,特别关注c#获取项目的默认路径的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解创建自定义 MSBuild 任务时如何从 C# 代码中获取当前项目目录?的机会,同时也不会遗漏关于. net core sdk 的版本 3.0.100 至少需要 msbuild 的 16.3.0 版本。当前可用的 msbuild 版本为 16.1.76.45076。将在 global. js...、Asp.net Daily Build by MsBuild、asp.net-mvc – 将自定义属性添加到MSBuild任务、c# – 如何从msbuild获取构建日志?的知识。
本文目录一览:- 创建自定义 MSBuild 任务时如何从 C# 代码中获取当前项目目录?(c#获取项目的默认路径)
- . net core sdk 的版本 3.0.100 至少需要 msbuild 的 16.3.0 版本。当前可用的 msbuild 版本为 16.1.76.45076。将在 global. js...
- Asp.net Daily Build by MsBuild
- asp.net-mvc – 将自定义属性添加到MSBuild任务
- c# – 如何从msbuild获取构建日志?
创建自定义 MSBuild 任务时如何从 C# 代码中获取当前项目目录?(c#获取项目的默认路径)
我不想使用硬编码的路径运行外部程序,而是想获取当前的项目目录。我正在使用自定义任务中的进程调用外部程序。
我该怎么做?AppDomain.CurrentDomain.BaseDirectory 只是给了我 VS 2008 的位置。
答案1
小编典典您可以尝试这两种方法之一。
string startupPath = System.IO.Directory.GetCurrentDirectory();string startupPath = Environment.CurrentDirectory;
告诉我,你觉得哪个更好
. net core sdk 的版本 3.0.100 至少需要 msbuild 的 16.3.0 版本。当前可用的 msbuild 版本为 16.1.76.45076。将在 global. js...
vs2019在打开netcore项目时出现版本问题,如下图:
需要在global.json 增加如下红色标识部分,对应的版本即可
{
“ sdk ”:{
“版本”:“ 2.1.403 ” }, “ msbuild-sdks ”:{ “ Microsoft.Build.Traversal ”: 16.1.76.45076 } }
Asp.net Daily Build by MsBuild
:: 目录结构
:: +GW.Point.BLL --dir dll
:: +GW.Point.IBLL --dir dll
:: +GW.Point.DAL --dir dll
:: +GW.Point.IDAL --dir dll
:: +GW.Point.Model --dir dll
:: +GW.Point.Manager --dir web
:: -GW.Point.Web.csproj --file
:: +GW.Point.Web --dir web
:: -GW.Point.Web.csproj --file
:: -GWPoint.sln --file sln
@echo off
::获取文件名
set WebAppPath=%~n0
set WebAppName=%WebAppPath%\%~n0.csproj
::echo %WebAppName%
::部署路径
set DeployPath=%CD%\%WebAppPath%_deploy
::@pause
set path=C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
::set path=C:\WINDOWS\Microsoft.NET\Framework\v3.5
::set path=C:\WINDOWS\Microsoft.NET\Framework\v3.0
::set path=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
::set path=C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
::set path=C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705
::@echo %path%
echo Delete the %WebAppPath%_deploy directory!
@rd %WebAppPath%_deploy /s/q
@md %WebAppPath%_deploy
echo Building %WebAppName%, please wait a minute...
"%path%\MsBuild.exe" %WebAppName% /t:rebuild /p:configuration=Release /t:ResolveReferences;Compile;_CopyWebApplication /p:OutputPath=%DeployPath%\bin /p:WebProjectOutputDir=%DeployPath% >%WebAppPath%.log
echo Building %WebAppName% Complete! (%WebAppPath%.log)
::@pause
asp.net-mvc – 将自定义属性添加到MSBuild任务
现在我知道aspnet_compiler.exe(http://msdn.microsoft.com/en-us/library/ms229863(vs.80).aspx)有一个“-errorstack”开关可以给我关于这个错误的堆栈跟踪信息,但似乎AspNetCompiler Task没有暴露设置这个属性的可能性(http://msdn.microsoft.com/en-us/library/ms164291.aspx).
所以我的问题是 – 有没有办法将任何自定义属性传递给现有的MSBuild任务,或者我必须在MSBuild之外手动运行aspnet_compiler.exe以启用-errorstack功能?
解决方法
c# – 如何从msbuild获取构建日志?
if(IsRunningOnWindows()) { // Use MSBuild foreach(string currenproject in projectslocation) { MSBuild(currenproject,new MSBuildSettings() .SetConfiguration(configuration) .SetVerbosity(Verbosity.Minimal)); } }
这可以创建构建日志文件吗?
解决方法
这应该允许你这样的事情:
MSBuild("./myproject.sln",new MSBuildSettings() .AddFileLogger(new MSBuildFileLogger { LogFile = "./errors.txt",MSBuildFileLoggerOutput = MSBuildFileLoggerOutput.ErrorsOnly });
你今天可以使用Cake的MyGet feed获得预发布的v0.17.0版本的Cake.
如果您使用nuget CLI来安装Cake,就像在default bootstrapper中一样,您将-Source https://www.myget.org/F/cake/api/v3/index.json添加到nuget install语句中.
然后:
>如果您使用package.config来固定Cake版本,请指定版本0.17.0-alpha0092或更高版本.>如果您只是使用Cake包ID安装,那么您只需添加-PreRelease,它将从Feed获取最新版本或指定-Version 0.17.0-alpha009参数.
今天关于创建自定义 MSBuild 任务时如何从 C# 代码中获取当前项目目录?和c#获取项目的默认路径的分享就到这里,希望大家有所收获,若想了解更多关于. net core sdk 的版本 3.0.100 至少需要 msbuild 的 16.3.0 版本。当前可用的 msbuild 版本为 16.1.76.45076。将在 global. js...、Asp.net Daily Build by MsBuild、asp.net-mvc – 将自定义属性添加到MSBuild任务、c# – 如何从msbuild获取构建日志?等相关知识,可以在本站进行查询。
本文标签: