第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

exe文件沒有根目錄怎么辦?

exe文件沒有根目錄怎么辦?

C#
慕工程0101907 2023-09-24 11:15:06
默認(rèn)情況下,構(gòu)建路徑\debug\x86\為:db (folder) log (folder) *.exe *.pdb *.config我想將 *.exe(pdb 和 config)移至我的文件夾bin( \debug\x86\bin)我做下一個帖子構(gòu)建腳本ROBOCOPY "$(TargetDir) " "$(TargetDir)bin\ " *.exe *.config *.pdb /IS /MOVE但是當(dāng)我運行應(yīng)用程序時崩潰(或start通過 Visual Studio)該項目包含其他文件夾。所以我想把文件放在不同的文件夾中。我想要這個結(jié)構(gòu)db (folder) log (folder) bin (folder)
查看完整描述

2 回答

?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗 獲得超1個贊

關(guān)于為什么VS拋出該錯誤消息并且無法在VS中啟動程序:

對于VS中的C#項目,它有默認(rèn)的Output path,就像Larry上面建議的那樣,當(dāng)我們嘗試簡單地啟動或開始調(diào)試程序時,VS會根據(jù).exe調(diào)用輸出xx.exe?TargetDir。由于您使用構(gòu)建后事件將輸出 xx.exe 從 移動$(TargetDir)$(TargetDir)bin,每次 VS 嘗試啟動該程序時,它都找不到程序,因為它實際上不在 $(TargetDir) 路徑中。

注意:在使用 msbuild 構(gòu)建時,$(OutputPath)$(TargetDir)指的是相同的路徑。

我想將 *.exe(pdb 和 config)移動到我的文件夾 bin (\debug\x86\bin)

對于 VS 中的 C# 項目,不建議這樣做。我假設(shè)你當(dāng)前的項目中可能有 log 和 db 文件夾,如果其中的文件設(shè)置為 Content build action 和 CopyAlways 或 CopyIfNever,那么無論你設(shè)置什么輸出路徑,輸出結(jié)構(gòu)都是這樣的:

https://img4.sycdn.imooc.com/650fa9ff0001265401830122.jpg

無需在當(dāng)前路徑創(chuàng)建新的 bin 文件夾并將其移入*.exe, *.pdb, *.config其中。它會影響VS中的正常調(diào)試行為,如果xx.exe依賴于db文件夾中的數(shù)據(jù)庫,還可能導(dǎo)致未知錯誤。(更改路徑后,xx.exe可能會嘗試在錯誤的路徑中搜索)

不確定你用的VS是什么版本,可以查看這個issue。msbuild是VS中的構(gòu)建引擎,VS使用它來構(gòu)建C#項目。您可以在您的機(jī)器中找到它的路徑并檢查其典型結(jié)構(gòu):


?--Msbuild.exe

|

?--necessary files

|

?--referenced assemblies

|

?--other folders

綜上所述,使用post-build腳本會調(diào)用崩潰,導(dǎo)致VS找不到xx.exe。并且沒有有效的方法來獲取您想要的結(jié)構(gòu),因為原始結(jié)構(gòu)是 VS 對于 C# 項目的預(yù)期行為。所以也許我們可以讓它在正常情況下就應(yīng)該這樣。


更新:


如果現(xiàn)在我想發(fā)布該程序。當(dāng)然,現(xiàn)在我在發(fā)布模式下構(gòu)建程序。輸出結(jié)構(gòu)為:


RootDir(name:xxx) ---xx.exe

? ? ? ? ? ? ? ? ? ---xx.config

? ? ? ? ? ? ? ? ? ---log folder

? ? ? ? ? ? ? ? ? ? ?---log file

? ? ? ? ? ? ? ? ? ---text folder

? ? ? ? ? ? ? ? ? ? ?---txt file

? ? ? ? ? ? ? ? ? ---db folder

? ? ? ? ? ? ? ? ? ? ?---db file

根據(jù)您的要求,為什么不創(chuàng)建一個新的 bin 文件夾并將 xx.exe、xx.config 放入其中。然后重命名根文件夾的名稱,手動將其更改為:


ProgramName ---bin folder

? ? ? ? ? ? ? ?---xx.exe

? ? ? ? ? ? ? ?---xx.config

? ? ? ? ? ? ? ?---other referenced assemblies

? ? ? ? ? ? ---log folder

? ? ? ? ? ? ? ?---log file

? ? ? ? ? ? ---text folder

? ? ? ? ? ? ? ?---txt file

? ? ? ? ? ? ---db folder

? ? ? ? ? ? ? ? ---db file

您需要注意的是確保您的程序可以像這樣找到所需的文件。由于您可能通過代碼依賴這些文件,因此一個簡單的示例是使用以下格式的路徑:@"..\text\test.txt",這..意味著上面的目錄。因此,如果您使用類似的語句@"..\db\database file",您的程序可以找到必要的文件。


但請注意,這種方式會影響 noraml 調(diào)試行為,因此請在調(diào)試時將所有內(nèi)容保留為正常結(jié)構(gòu)。并在嘗試釋放時使用特殊結(jié)構(gòu)。


查看完整回答
反對 回復(fù) 2023-09-24
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊

不要使用ROBOCOPY,而是更改項目的實際構(gòu)建位置。

轉(zhuǎn)到Project -> Properties -> Build并將輸出路徑更改為/Debug/x86/bin

然后應(yīng)該可以正確調(diào)試。


查看完整回答
反對 回復(fù) 2023-09-24
  • 2 回答
  • 0 關(guān)注
  • 192 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號