繁体   English   中英

更改构建目标而不触及csproj文件

[英]Change build destination without touching csproj file

我在我的解决方案中添加了第三方项目,我从github分配了这个项目。

我会经常更改此repo,我将请求返回到orig存储库。

如何修改此项目的构建目标,构建到..\\..\\bin\\Debug而不是bin\\Debug而不修改csproj文件。

我试图避免每次推送变化时存储csproj。

答案,基于JakeSays输入

//Filename - *.csproj.user
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <OutputPath>..\..\..\bin\Debug\</OutputPath>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
    <OutputPath>..\..\..\bin\Debug\</OutputPath>
  </PropertyGroup>
</Project>

将使用此输出路径而不是orig OutputPath条目

更改应在.csproj文件之外进行。 我建议在项目文件旁放置.csproj.user文件,并覆盖其中的输出路径。

然后,您可以将.user文件添加到gitignore(如果尚未添加)

有几种选择:

将文件添加到.gitignore文件

这将忽略该文件及其所做的任何更改。

--assume-unchaged

在此文件上提升--assume-unchaged标志,以便它将停止跟踪此文件的更改

使用方法(2)将告诉git即使ts已经提交也忽略该文件。
它允许您修改文件,而无需将其提交到存储库。

git的更新索引

- [no-]假设未更改指定此标志时,不会更新为路径记录的对象名称。 相反,此选项设置/取消设置路径的“假定未更改”位。 当“假设未更改”位打开时,用户承诺不更改文件并允许Git假定工作树文件与索引中记录的文件匹配。 如果要更改工作树文件,则需要取消设置该位以告知Git。 当在具有非常慢的lstat(2)系统调用(例如cifs)的文件系统上处理大项目时,这有时是有用的。

如果需要在索引中修改此文件,例如在提交中合并时,Git将失败(优雅); 因此,如果上游更改了假定未跟踪文件,则需要手动处理该情况。

git add -P

使用git add -p仅添加您将选择提交的部分更改。
您可以选择要添加的更改(选择更改)而不是全部提交。

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM