簡體   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