<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Compiler Warning (level 1) CS1699 使用命令行選項“compiler_option”或適當項目設置代替“attribute_name” 為給程序集簽名,必須指定密鑰文件。在 Microsoft Visual C# 2005 之前,您在源代碼中使用 CLR 特性指定了密鑰文件。現在,這些特性都被否決了。 從 Microsoft Visual C# 2005 開始,您應使用**“項目設計器”**的**“簽名頁”**或程序集鏈接器指定密鑰文件。 **“項目設計器”**的**“簽名頁”**是首選方法;有關更多信息,請參見 [“項目設計器”-&gt;“簽名”頁](https://msdn.microsoft.com/zh-cn/library/0k50fs3b.aspx) 和 [管理程序集簽名和清單簽名](https://msdn.microsoft.com/zh-cn/library/ms247066.aspx)。 [如何:使用強名稱為程序集簽名](https://msdn.microsoft.com/zh-cn/library/xc31ft41.aspx) 使用如下編譯器選項: * [/keyfile (C# Compiler Options)](https://msdn.microsoft.com/zh-cn/library/w2kyay38.aspx) 代替 [AssemblyKeyFileAttribute](https://msdn.microsoft.com/zh-cn/library/system.reflection.assemblykeyfileattribute.aspx) 特性。 * [/keycontainer (C# Compiler Options)](https://msdn.microsoft.com/zh-cn/library/5b92wy0h.aspx) 而不是[AssemblyKeyNameAttribute](https://msdn.microsoft.com/zh-cn/library/system.reflection.assemblykeynameattribute.aspx)。 * [/delaysign (C# Compiler Options)](https://msdn.microsoft.com/zh-cn/library/ta1sxwy8.aspx) 代替 [AssemblyDelaySignAttribute](https://msdn.microsoft.com/zh-cn/library/system.reflection.assemblydelaysignattribute.aspx)。 否決這些特性的原因是: * 存在安全問題,因為這些特性嵌入在由編譯器生成的二進制文件中。因此,每個擁有您的二進制文件的人都會獲得存儲在其中的密鑰。 * 存在可用性問題,因為特性中指定的路徑是相對于當前工作目錄(此目錄在集成開發環境 (IDE) 中可能會發生更改)或輸出目錄的。因此,大多數情況下密鑰文件有可能是..\\..\\mykey.snk。特性還增加了項目系統為附屬程序集正確簽名的難度。當您使用編譯器選項代替這些特性時,可以使用密鑰的完全限定路徑和文件名,而無需在輸出文件中嵌入任何內容;項目系統和源代碼管理系統可在項目移動時正確處理該完整路徑;項目系統可保留密鑰文件的項目相對路徑,同時仍將完整路徑傳遞給編譯器;其他生成程序可通過直接將適當的路徑傳遞給編譯器(而不是用正確的特性生成源文件)更加容易地為輸出簽名。 * 將特性用于友元程序集會影響編譯器的效率。當您使用特性時,編譯器在必須決定是否授予友元關系時不知道密鑰是什么,因此它必須進行推測。在編譯的最后,一旦編譯器最后知道了密鑰,它就能夠對推測進行驗證。當使用編譯器選項指定密鑰文件時,編譯器可立即決定是否授予友元關系。 下面的示例生成 CS1699。若要解決此錯誤,請移除該特性并使用 **/delaysign** 進行編譯。 ``` // CS1699.cs // compile with: /target:library [assembly:System.Reflection.AssemblyDelaySign(true)] // CS1699 ``` ## 請參閱 [“項目設計器”-&gt;“簽名”頁](https://msdn.microsoft.com/zh-cn/library/0k50fs3b.aspx) [管理程序集簽名和清單簽名](https://msdn.microsoft.com/zh-cn/library/ms247066.aspx) [如何:使用強名稱為程序集簽名](https://msdn.microsoft.com/zh-cn/library/xc31ft41.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看