2011-12-04 37 views
2

我在VS2010中有一個C#項目,它在裏面生成一個帶有COM對象的DLL。向CSC命令行添加一個標誌

對於註冊免費的COM工作,我想嵌入清單作爲Win32資源。因此,我需要將/win32res:blah.res傳遞給用於構建DLL的csc命令行。我可以用預生成事件生成.res文件。

但我無法做到這一點。我聽起來完全瘋了,但似乎沒有簡單的方法將自定義標誌傳遞給csc。我意識到.csproj文件是MSBuild文件,我想有一個簡單方法來修改它以滿足我的需要,但我找不到任何相關的東西(這讓我發瘋)。

+0

你有沒有嘗試從這裏的Win32Resource:http://msdn.microsoft.com/en-us/library/s5c8athz.aspx? –

+0

@MarcGravell:intellisense(和用於MsBuild項目的DTD)表示應該使用Win32ResourceFile,它不起作用。我會檢查Win32Resource。 –

+0

@MarcGravell:奇怪的是,它與'Win32Resource'一起使用,即使智能感應器都是紅色的。你可以把這個作爲答案,我會很高興upvote。 –

回答

2

該選項在IDE中公開。項目+屬性,應用程序選項卡,資源文件選項。

但是不要這樣做,你會遇到嵌入到程序中的常規清單的麻煩。使用項目+添加新項目,應用程序清單文件。編輯該文件以添加regfree COM條目。

+0

這是否包含文件作爲Win32資源或.NET資源? (或者是否有區別?) –

+0

Win32資源,如「/ win32res」強烈建議。是的,文件中有很大的差異,非常不同的格式和位置。 Windows只能讀取win32資源。您可以使用File + Open + File查看它們,然後選擇.exe –