- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我花了很多时间在我的开发箱上编写这个程序,在将它移到我们的生产箱后,我得到以下错误。仅供引用,我无法控制安装的内容和可以安装的内容,我怎样才能完成这项工作?在两台计算机上的两个框架下,我们都有 v1.0.3705、v1.1.4322、v2.0.50727、v3.0、v3.5、4.0.30319。另外,我用来创建应用程序的程序是 Visual Studio 2013 Pro。
谢谢
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.
***** Exception Text ******* System.MissingMethodException: Method not found: 'System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid)'. at C_Sharp_version.Form1.button4_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)***** Loaded Assemblies ******* mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.239 (RTMGDR.030319-2300) CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll ---------------------------------------- C Sharp version Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file:///gordonc$/Desktop/C%20Sharp%20version%20(2).exe ---------------------------------------- System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.235 built by: RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll ---------------------------------------- System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.1 built by: RTMRel CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll ---------------------------------------- System Assembly Version: 4.0.0.0 Win32 Version: 4.0.30319.236 built by: RTMGDR CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Word = Microsoft.Office.Interop.Word;
using Microsoft.Office.Interop.Word;
namespace C_Sharp_version
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void FindAndReplace(Microsoft.Office.Interop.Word.Application doc, object findText, object replaceWithText)
{
//options
object matchCase = false;
object matchWholeWord = true;
object matchWildCards = false;
object matchSoundsLike = false;
object matchAllWordForms = false;
object forward = true;
object format = false;
object matchKashida = false;
object matchDiacritics = false;
object matchAlefHamza = false;
object matchControl = false;
object read_only = false;
object visible = true;
object replace = 2;
object wrap = 1;
//execute find and replace
doc.Selection.Find.Execute(ref findText, ref matchCase, ref matchWholeWord,
ref matchWildCards, ref matchSoundsLike, ref matchAllWordForms, ref forward, ref wrap, ref format, ref replaceWithText, ref replace,
ref matchKashida, ref matchDiacritics, ref matchAlefHamza, ref matchControl);
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openInfDoc = new OpenFileDialog();
if (openInfDoc.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string strInfDocLocation = openInfDoc.FileName;
MessageBox.Show(strInfDocLocation);
InfDocLocationtxt.Text = strInfDocLocation;
}
}
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog openNetdoc = new OpenFileDialog();
if (openNetdoc.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string strNetDocLocation = openNetdoc.FileName;
MessageBox.Show(strNetDocLocation);
NetDocLocationtxt.Text = strNetDocLocation;
}
}
private void button3_Click(object sender, EventArgs e)
{
OpenFileDialog openChkdoc = new OpenFileDialog();
if (openChkdoc.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string strChkDocLocation = openChkdoc.FileName;
MessageBox.Show(strChkDocLocation);
ChkDocLocationtxt.Text = strChkDocLocation;
}
}
private void button4_Click(object sender, EventArgs e)
{
object fileName = Path.Combine(System.Windows.Forms.Application.StartupPath, InfDocLocationtxt.Text);
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application { Visible = true };
Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(ref fileName, ReadOnly: false, Visible: true);
aDoc.Activate();
FindAndReplace(wordApp, "<ServerName>", textBox1.Text);
FindAndReplace(wordApp, "<Domain>", textBox2.Text);
FindAndReplace(wordApp, "<Ip>", textBox3.Text);
FindAndReplace(wordApp, "<Engineer>", textBox4.Text);
FindAndReplace(wordApp, "<Date>", textBox5.Text);
FindAndReplace(wordApp, "<Project>", textBox6.Text);
FindAndReplace(wordApp, "<Cluster>", textBox7.Text);
FindAndReplace(wordApp, "<DocNumber>", textBox8.Text);
FindAndReplace(wordApp, "<Author>", textBox9.Text);
}
private void button7_Click(object sender, EventArgs e)
{
}
private void button5_Click(object sender, EventArgs e)
{
object fileName = Path.Combine(System.Windows.Forms.Application.StartupPath, NetDocLocationtxt.Text);
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application { Visible = true };
Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(ref fileName, ReadOnly: false, Visible: true);
aDoc.Activate();
FindAndReplace(wordApp, "<ServerName>", textBox1.Text);
FindAndReplace(wordApp, "<Domain>", textBox2.Text);
FindAndReplace(wordApp, "<Ip>", textBox3.Text);
FindAndReplace(wordApp, "<Engineer>", textBox4.Text);
FindAndReplace(wordApp, "<Date>", textBox5.Text);
FindAndReplace(wordApp, "<Project>", textBox6.Text);
FindAndReplace(wordApp, "<Cluster>", textBox7.Text);
FindAndReplace(wordApp, "<DocNumber>", textBox8.Text);
FindAndReplace(wordApp, "<Author>", textBox9.Text);
}
private void button6_Click(object sender, EventArgs e)
{
object fileName = Path.Combine(System.Windows.Forms.Application.StartupPath, ChkDocLocationtxt.Text);
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application { Visible = true };
Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(ref fileName, ReadOnly: false, Visible: true);
aDoc.Activate();
FindAndReplace(wordApp, "<ServerName>", textBox1.Text);
FindAndReplace(wordApp, "<Domain>", textBox2.Text);
FindAndReplace(wordApp, "<Ip>", textBox3.Text);
FindAndReplace(wordApp, "<Engineer>", textBox4.Text);
FindAndReplace(wordApp, "<Date>", textBox5.Text);
FindAndReplace(wordApp, "<Project>", textBox6.Text);
FindAndReplace(wordApp, "<Cluster>", textBox7.Text);
FindAndReplace(wordApp, "<DocNumber>", textBox8.Text);
FindAndReplace(wordApp, "<Author>", textBox9.Text);
}
}
}
最佳答案
在我看来,这是一个 .NET Framework
兼容性
问题。
问题:您在本地计算机上使用更高版本的 .NET Framework
开发了您的应用程序,并在具有较低版本的 的远程 pc 上运行相同的应用程序。 NET 框架
。
注意:如果您将应用程序定位为在 .NET Framework
的 Heigher
版本上运行,则它不会在较低版本上运行。
解决方案:您需要将其定位到远程 PC 上可用的 .NET Framework
较低版本才能在远程 PC 上运行。
第 1 步: 右键单击 project
- 选择 properties
第 2 步:将 Target Framework
从 .NET Framework x.x
更改为 .NET Framework x.y
。
注意:x.x
是更高的,x.y
是远程 pc 或任何更低版本上可用的较低版本。
关于c# - 找不到方法 : 'System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid)' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20440822/
我有某些场景(例如,一个自定义类来保存 Sql 参数),其中可能需要也可能不需要变量。传统上,我一直将这些定义为 Guid? 类型,并在使用前使用 myGuid.HasValue 检查有效值。 当然在
在 rpc.h 中,GUID 结构声明如下: typedef struct _GUID { DWORD Data1; WORD Data2; WORD Data3; B
使用 Dynamics CRM 我试图创建一个实体的实例。我想手动设置 GUID,但如果我拥有作为 DynamicEntity 主键的属性,则会出现以下错误。 Service could not pr
我需要将 GUID PK 字段(长度 = 36)发送到只接受 20 个字符长的下游系统。在下游系统中增加字段的长度成本过高。如果我截断该字段,那么我将失去它的唯一性。 有什么方法可以在不丢失唯一性的情
我听说 melissa 蠕虫的创建者因生成的 GUID 可以链接回他使用的计算机的 MAC 地址而被定罪。 做到这一点有多难?除了 GUID,他们还需要哪些数据?喜欢 MAC 地址本身还是创建时间?
使用 GUID 作为文件名和 นด 上传的图像以避免重复有什么缺点吗? 最佳答案 您的文件名将是唯一的,真的。但是没有任何方法可以按任何顺序对它们进行排序。 您可以使用 Unix TimeStamp在
我正在做一些互操作,需要传递一些 GUID。有没有办法将 GUID 属性添加到枚举值,并且当它被编码时它具有适当的值? 基本上我正在尝试转换代码 #if !defined( STATIC_KSDATA
我有一个文件,其中包含大量出现的字符串 Guid="GUID HERE" (其中 GUID HERE 在每次出现时都是唯一的 GUID),我想用新的唯一 GUID 替换每个现有的 GUID。 这是在
我已经向我们的客户发送了 10000 封邮件,每封邮件都有一个格式的链接 http://example.com/LogIn?key={guid} 不幸的是guid我发送的是随机 guids(由 Gui
使用 Breeze,在创建实体时填充 GUID 键的最简单方法是什么? 最佳答案 我假设您的实体已配置为客户端负责为新实体设置 Guid 键。这是 Entity Framework 代码优先实体的 G
我看到这两个首字母缩略词被抛出,我想知道 GUID 和 UUID 之间是否有任何区别? 最佳答案 简单回答是:**没有区别,它们是同一个东西。 2020-08-20 更新 :虽然 GUID(由 Mic
我注意到有些人不打算使用通常的递增数字作为 ID,而是简单地生成 GUID。优点包括: 快速简单 无需跟踪以前的 ID 即使在机器之间互不了解的情况下也能保证唯一性 一些缺点是: 可能存在性能瓶颈 使
我是 C++/CLI 的新手,我正在尝试将 native C++ GUID 转换为我的 C++/CLI Guid^。尝试转换时: BlockInfo^ blockInfo = gcnew BlockI
这个问题在这里已经有了答案: 11 年前关闭。 Possible Duplicate: Is there any difference between a GUID and a UUID? GUID
我正在使用 Data::GUID生成 GUID。然而,每当我在同一个“ session ”中生成 GUID,即运行脚本时,唯一改变的数字是最前面的数字: 3BAF1240-0573-11E4-B31C
我有一个对象列表,它们具有 id 的 guid。我想使用这个对象列表中的 id 创建一个 guid,我可以使用它来确保列表没有改变。如果删除/添加了一个对象,则 guid 会有所不同。我想到的是使用哈
上下文:ASP.NET Web API v2 给定一个类似于这个的 URL: http://localhost/something?id=cbc66d32-ece8-400f-a574-e36b911
这是将 Guid 转换为 Guid 的惯用方法吗?? new Guid?(new Guid(myString)); 最佳答案 不,这是: Guid? foo = new Guid(myString);
我想从输入字符串生成一个 GUID。假设我从用户那里收到了 guid,它是 81a130d2-502f-4cf1-a376-63edeb000e9f 所以我可以这样做: Guid g = Guid.
为什么无参数 Guid 构造函数生成一个空 GUID,而不是像 Guid.NewGuid() 那样默认生成一个? 空 Guid 是否有特殊用途? 最佳答案 Why does the parameter
我是一名优秀的程序员,十分优秀!