簡體   English   中英

通過構建腳本更新Visual Studio項目中的文件

[英]Update files in visual studio project from build script

情境

目前,我所處的項目之一依賴於第三方API,該API公開了JSON中的大張旗鼓的描述符,我們使用自動休息來生成該描述符,以生成供系統使用的C#文件。

C#文件是作為構建腳本的一部分生成的,但是在某些情況下,API已更新,盡管我們不使用任何新更改,但確實會更改某些生成的C#代碼,而這又可能取決於從構建腳本輸出的新文件,但是VS不知道它們是否存在,因此不包括它們。

問題

因此,我試圖找到一種通過構建腳本或其他合理的方式(無需手動更改* .csproj文件)來告訴Visual Studio的方法,以自動將項目中的所有文件包含在其文件夾中,那么有沒有辦法做到這一點?

其他資訊

我故意沒有提到構建腳本技術,因為它並不是很重要,因此,我不介意是否必須使用msbuild任務或其他命令行內容,只要它可以工作,我可能會找到一種將其掛鈎的方法。

我也知道有些人會認為“為什么需要繼續重新生成文件?”,我們還沒有,目前我們嘗試保持特定版本,但是忽略了這個問題仍然存在,即如何解決。您是否從VS外部更新VS知道的文件?

您可以在.csproj文件中使用wild cards 您只需要這樣做一次

由於您沒有提供文件夾名稱,因此我建議您使用一種通用解決方案。

若要在修改了Visual Studio中的對象列表后阻止Visual Studio擴展通配符,則必須將其添加為屬性。

PropertyGroup ,添加具有以下內容的屬性

<PropertyGroup>
    <IncludeFolder>yourFolder\**</IncludeFolder>
</PropertyGroup>

然后將以下行添加到ItemGroup

<ItemGroup>
   <Content Include="$(IncludeFolder)" />
</ItemGroup>

這會將文件夾中的所有內容添加到您的項目中。

同樣,一旦您從Visual Studio解決方案資源管理器中修改了通配符,Visual Studio將不會對其進行擴展。 (來自Visual Studio的怪異過程)

暫無
暫無

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

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