mixed-mode

    3熱度

    1回答

    我有一個託管類Parser和一個非託管類。前者從託管客戶端的DLL(C#世界)公開。核心功能位於非託管類中。由於兩者都在同一個DLL中,並且存在一對一的關係,因此託管類可以訪問非託管類。 的問題是,我想Parser訪問的所有成員。我不想爲所有成員使用public:,也不願意讓二傳手和獲得者。因此,我剛放置friend關鍵字: class CParser { ... frien

    7熱度

    3回答

    首先,我發現了StackOverflow here上的其他帖子,但它沒有解決我的錯誤。 我有3個不同的環境/域與每個位置的生成服務器。我的Dev和UAT環境構建得很好,但生產版本不起作用。 ,我發現了錯誤 混合模式組件建立對 運行時的版本「V2.0.50727,且不能在4.0運行時無需額外 配置信息被加載 我已將此標記添加到我的app.config文件(這是我在上面的鏈接中建議的修復) <star

    0熱度

    3回答

    我有一個包含C#UI,C++/CLI混合模式interop包裝和一些本地C++項目的系統。 我需要做的是建立一個系統,以便原生C++代碼可以發送日誌消息,並且UI可以報告它。 我使用this作爲模板設置了本機IObservable,但是C#代碼不能成爲觀察者。我的想法是在C++/CLI中設置另一個觀察者模式,它觀察本地觀察者,並讓C#實現它。我用this作爲模板,但我努力將其轉換爲有效的C++/C

    15熱度

    4回答

    我能夠找到幾個類似的問題,並且沒有回答或確切的條件適用於我的情況。 我有一個爲x64構建的.NET 3.5項目。 我也有一個x64混合模式引用(也針對.NET 3.5)。 在Visual Studio 2008中,我創建了一個Web引用,它使得SGEN在發佈版本期間執行以創建助手DLL。 如果我沒有引用mixed-mode DLL,這工作正常。如果我引用混合模式DLL,我得到這個錯誤(xxx是隻是

    2熱度

    1回答

    我正在用C++編寫Native/CLI DLL。我最終會從C#代碼中調用DLL(我更熟悉這個代碼),但是我想用CLI包裝器來封裝我的Native C++類。 所以我的問題是,什麼是最好的方式來將std :: vector轉換爲List類? 的類大多是簡單的,最複雜的看起來像這樣: class SecurityPrincipal { public: wstring distinguis

    2熱度

    2回答

    混合模式C++應用程序是使用VS2012構建的,它引用了託管DLL Noesis.Javascript.dll(我相信它是使用VS2010構建的),該DLL在運行時與msvcr100.dll鏈接。 我觀察到崩潰似乎顯示Noesis.Javascript.dll從VS2012的msvcr110.dll調用庫函數內的代碼。 是否有可能使用兩個不同版本的C++運行時庫運行單個進程,或者發生此問題的原因可

    24熱度

    2回答

    2012年12月9日總結: 在運行作爲終結正常混合模式應用的全球本地C++析構函數。無法更改該行爲或關聯的超時。 混合模式程序集DLL在DLL加載/卸載期間運行C++構造函數/析構函數 - 與原生DLL完全一樣。 使用COM接口在本機中託管CLR可執行文件允許解構器在本地DLL(我期望的行爲)中運行,併爲終結器設置超時(額外獎勵)。 至於我可以告訴上述適用於至少Visual Studio 2008

    2熱度

    1回答

    我有一個託管程序集加載問題源自衍生的混合模式進程。詳情請參閱下文。假設BinPath和ExecutablePath是兩個不同的有效路徑。 我有一個在BinPath開始一個web應用程序,並創建使用下面的ProcessStartInfo的過程: new ProcessStartInfo() { FileName = ExecutablePath + "PerformanceRunner.

    6熱度

    3回答

    我正在使用Visual Studio 2012和.Net Framework 4.5 我有2個解決方案:1)WPF應用程序2 )類庫(dll) 類庫包含3個按鈕和一個控件,它必須在WindosFormsHost控件中,因爲它是爲WinForms生成的。 .NET框架之外唯一引用的程序集是用於上述winforms控件和iTextSharp。 的的WinForms控制似乎是有點老,當我把我的DLL參考

    4熱度

    1回答

    我有一個調用混合模式C++ dll的C#應用​​程序。我通過HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ Windows Error Reporting \ LocalDumps啓用了轉儲生成。 當dll訪問無效內存時,運行時將win32異常轉換爲受管System.AccessViolationException,並在生成轉儲之前展開堆