簡體   English   中英

將自定義信息添加到CSPROJ文件

[英]Adding custom information to CSPROJ files

作為我們開發生命周期的一部分,我們在項目中針對C#源運行了許多過程。

這些進程由GUI驅動,該GUI當前讀取* .csproj文件以查找項目中使用的源文件。 這很好用。

我們現在有了一個新的要求,即提供一些需要調用Web服務的驗證過程。 需要為Web服務提供一些特定於項目的憑據。 理想情況下,我們可以在* .csproj文件中輸入和存儲這些憑據,但我沒有看到擴展它的方法 - 是嗎?

我們真的不想引入新的配置。 如果我們可以幫助它,只為這些設置提供文件。 是否可以存儲這樣的信息是* .csproj文件,如果沒有其他地方可以放置它。

謝謝

.csproj文件基本上是一個MSBuild文件 ,因此您可以使用自定義值對其進行擴展。 如果右鍵單擊Visual Studio中的項目並選擇“卸載項目”,項目將“灰顯”,然后您可以再次右鍵單擊並選擇Edit [ProjectFileName].csproj 然后,您可以添加類似於以下內容的內容:

<PropertyGroup Label="Custom">
  <Badger>1</Badger>
</PropertyGroup>

在修改項目(即添加/刪除文件) 時應保留此項,並且可以使用您選擇的方法從文件中檢索值。

VS項目支持“項目擴展”。 這些是直接存儲在csproj / vbproj文件中的自定義數據。 您甚至可以從VS中輕松讀取和寫入它們。 例如,以下VS宏寫入此類自定義設置:

Dim proj As Project = DirectCast(DTE.ActiveSolutionProjects(0), Project)
proj.Globals.VariableValue("MySettingName1") = "My value1"
proj.Globals.VariablePersists("MySettingName1") = True

以下內容如下:

proj.Globals.VariableValue("MySettingName1").ToString

並且csproj文件中的代碼如下所示:

  <ProjectExtensions>
    <VisualStudio>
      <UserProperties MySettingName1="My value1" />
    </VisualStudio>
  </ProjectExtensions>

當然,這是持久的,不會被VS覆蓋。

我知道你解雇了它,但最明顯的,也許是推薦的地方是在配置文件中。 雖然加密了。

每個項目一個配置文件適用於大多數情況,並不是一個大的開銷imho。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM