Vac*_*ano 6 msbuild visual-studio
我的解决方案中有很多项目.
我希望每个人都有一个被覆盖的设置.我可以去编辑它们.但对于跟在我后面的开发人员来说,这很乏味且容易出错.
所以,我希望有一种方法可以在构建实际开始之前将自定义.proj文件合并到.csproj中.
我想要更改的设置是输出设置(用于调试配置).我想将其设置为$(SolutionDir)\ bin\Debug.
我是一个如意的思想家?或者有办法做到这一点?
您可以创建一个自定义.targets文件,该文件设置您希望对所有项目通用的属性.
在自定义.targets文件中,设置属性:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<OutputPath>$(SolutionDir)\bin\Debug</OutputPath>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
您仍然必须在每个.csproj文件中包含此目标文件,以及删除先前设置的OutputPath属性(否则,它将覆盖.targets文件中的一个设置).
<Import Project="<PathToYourTargetsFile>"/>
Run Code Online (Sandbox Code Playgroud)
虽然这仍然涉及编辑每个.csproj文件,但它比在每个文件中直接设置该属性更具可维护性,特别是如果您认为可能有更多设置希望每个项目在将来具有共同点.在任何添加的项目中,开发人员必须记住导入该.targets文件.
从 msbuild 命令行设置输出参数:
\n\n/p:OutputPath="$(SolutionDir)\\bin\\Debug"
\n\nOutputPath- 指定输出目录相对于项目目录的路径,例如“bin\\Debug”。
\n\n另一个选项是在 csproj 文件中放置配置覆盖。就像下面这样。不确定这是否是您想做的事情。
\n\n<Config\nName = \xe2\x80\x9cRelease\xe2\x80\x9d\nAllowunsafeBlocks = \xe2\x80\x9cfalse\xe2\x80\x9d\nBaseAddress = \xe2\x80\x9c285212672\xe2\x80\x9d\nCheckForOverflowUnderflow = \xe2\x80\x9cfalse\xe2\x80\x9d\nConfigurationoverrideFile = \xe2\x80\x9cdebug. web. config\xe2\x80\x9d\nDefineConstants = \xe2\x80\x9cTRACE\xe2\x80\x9d\nDocumentationFile = \xe2\x80\x9c\nDebugSymbols = \xe2\x80\x9cfalse\xe2\x80\x9d\nFileAlignrnent = \xe2\x80\x9c4096\xe2\x80\x9d\nIncrementalBuild = \xe2\x80\x9cfalse\xe2\x80\x9d\nOptimize = \xe2\x80\x9ctrue\xe2\x80\x9d\nOutputPath = \xe2\x80\x9cbin\\\xe2\x80\x9d\nRegisterForcomlnterop = \xe2\x80\x9cfalse\xe2\x80\x9d\nRemovelntegerChecks = \xe2\x80\x9cfalse\xe2\x80\x9d\nTreatWarningsAsErrors = \xe2\x80\x9cfalse\xe2\x80\x9d\nWarningLevel = \xe2\x80\x9c4\xe2\x80\x9d\n/>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2316 次 |
| 最近记录: |