Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改vb.net资源_Vb.net_Vb.net 2010 - Fatal编程技术网

更改vb.net资源

更改vb.net资源,vb.net,vb.net-2010,Vb.net,Vb.net 2010,我正在使用一个vb.net程序,该程序有一个与之关联的microsoft word帮助文档。我已将文档替换为更新的帮助文档,但文档不会更改。当我点击应该调用文档的帮助按钮时,它会打开旧文档,即使我用新文件替换了资源文件中的旧文件。这是什么原因 附加说明:当我将应用程序发布到服务器时,旧的帮助manuel会显示,但如果我只是将其发布到正在工作的计算机上并启动它,则新的帮助manuel会显示 如果需要更多信息,请告诉我 PRBL_121220_SWL_Tracker是帮助文件的名称 Imports

我正在使用一个vb.net程序,该程序有一个与之关联的microsoft word帮助文档。我已将文档替换为更新的帮助文档,但文档不会更改。当我点击应该调用文档的帮助按钮时,它会打开旧文档,即使我用新文件替换了资源文件中的旧文件。这是什么原因

附加说明:当我将应用程序发布到服务器时,旧的帮助manuel会显示,但如果我只是将其发布到正在工作的计算机上并启动它,则新的帮助manuel会显示

如果需要更多信息,请告诉我

PRBL_121220_SWL_Tracker是帮助文件的名称

Imports Word = Microsoft.Office.Interop.Word
'create temporary folders and files to simulate the environment needed to create report
Module Help
    Sub Build_Help()
        Dim wordApp As New Word.Application
        Dim wordDoc As Word.Document
        Dim helpFile As String
        Dim exlFile As String
        Dim helpFolder As String
        helpFolder = System.IO.Path.GetTempPath
        helpFolder = helpFolder & "swltemp"
        My.Computer.FileSystem.CreateDirectory(helpFolder & "\F025-14-03-410_PVLc")
        helpFile = helpFolder & "\130820.help.doc"
        System.IO.File.WriteAllBytes(helpFile, My.Resources.PRBL_121220_SWL_Tracker)
        wordDoc = wordApp.Documents.Open(helpFile)
        wordApp.Visible = 1


        exlFile = helpFolder & "\F025-14-03-410_PVLc\LIST_130709_F25_PVLc_SAP_BOMs.xlsx"
        System.IO.File.WriteAllBytes(exlFile, My.Resources.LIST_130709_F25_PVLc_SAP_BOMs)
        exlFile = helpFolder & "\F025-14-03-410_PVLc\REP_20130611_Matrix_F025-14-03-xxx_.xlsx"
        System.IO.File.WriteAllBytes(exlFile, My.Resources.LIST_130709_F25_PVLc_SAP_BOMs)
        exlFile = helpFolder & "\F025-14-03-410_PVLc\SAb_F025-14-03-410_4_k.xls"
        System.IO.File.WriteAllBytes(exlFile, My.Resources.SAb_F025_14_03_410_4_k)


        exlFile = helpFolder & "\REP_130709_F25_PVLc_SAP_B_SWLTest.xlsm"
        System.IO.File.WriteAllBytes(exlFile, My.Resources.REP_130712_F25_PVLc_SAP_B_SWLTest)
        wordDoc.Hyperlinks(1).Address = helpFolder & "\F025-14-03-410_PVLc"
        wordDoc.Hyperlinks(2).Address = exlFile
        wordDoc.Save()
        wordDoc = Nothing
        wordApp = Nothing
    End Sub
End Module

为了让我们帮助你,你需要给我们更多的细节。向我们展示实际加载文档的代码将非常有帮助。我将尝试这样做,但这需要一些时间。这会更好,谢谢。因此,您正在将资源写入临时文件,然后使用
Word.Application
对象打开它。。。它大概不会抛出异常,对吗?我不明白为什么这不起作用,除了另一台机器上的组件已经过时,而你只是没有意识到。可能正在使用来自不同文件夹的程序集的旧版本,而不是您预期的版本?您是否检查过确保没有旧的word文档副本卡在临时文件夹中?程序没有引发异常,一切正常,只是不会更新帮助文件。我不知道你所说的“除了另一台机器上的组件已经过时,而你只是没有意识到”是什么意思。抱歉,我对vb.net有点陌生,我没有编写此程序,而是继承了它。资源作为程序集的一部分嵌入(即exe或dll文件)。因此,如果它在您的机器上写出新文档,但在另一台机器上写出旧版本的文档,那么最明显的第一件要检查的事情是确保另一台机器——有问题的机器——确实在运行新版本的程序集。