天天看點

.NET程式中加入Autodesk Design Review 2013 ,打包完成後安裝提示未注冊XXX.dll解決辦法

近期打包一個項目,項目中加入了ADR的浏覽功能,不是使用ADR控件的方法(因為我的vs 2010 一拖拉ADR 控件就老停止工作。。。),主要代碼如下(前人做的,我隻是負責打包,不過不難看懂):

<span style="white-space:pre">	</span>public dwf()
        {
            InitializeComponent();
            axCExpressViewerControl = new AxCExpressViewerControl();
            axCExpressViewerControl.Parent = panel2;
            axCExpressViewerControl.Dock = DockStyle.Fill;
        }

        
        private void dwf_Load(object sender, EventArgs e)
        {
            LoadModel();
        }

        Dictionary<string, string> files;
        private void LoadModel()
        {
            files = new Dictionary<string, string>();
            startpath = Application.StartupPath;
            DirectoryInfo Dir = new DirectoryInfo(startpath + @"\Visualization\CAD");
            treeView1.Nodes.Add("地質剖面圖", "地質剖面圖");
            foreach (FileInfo f in Dir.GetFiles()) //查找檔案
            {
                string filename = f.ToString();
                int index = filename.IndexOf(".");
                string file = filename.Substring(0,index); ;
                string extension = filename.Substring(filename.IndexOf('.') + 1, 3);
                if (extension != "dwf" && extension != "DWF")
                    continue;
                files.Add(file, Dir + @"\" + f.ToString());
                treeView1.Nodes["地質剖面圖"].Nodes.Add(file, file);
                treeView1.ExpandAll();
            }
            if (files.Count>0)
            {
                axCExpressViewerControl.SourcePath = files.Values.ToList()[0];
            }
            
        }
           

(注意:用到ADR之前肯定是要安裝ADR的。。)

在打包完成後,安裝時,經常會出現如圖所示的錯誤:

.NET程式中加入Autodesk Design Review 2013 ,打包完成後安裝提示未注冊XXX.dll解決辦法

怎麼辦?

解決辦法:

很簡單,在監測到的依賴項裡,把ADR相關的dll的屬性裡面的“register”,都設定為“vsdraDoNotRegister”,這樣這些依賴項就不會注冊了,在程式使用時,就會自動尋找ADR安裝目錄内的相應dll。

.NET程式中加入Autodesk Design Review 2013 ,打包完成後安裝提示未注冊XXX.dll解決辦法

最後,推薦一篇文章:c# winform實作dll加載時注冊

繼續閱讀