2011-12-04 24 views
2

我在VS2010中有一个C#项目,它在里面生成一个带有COM对象的DLL。向CSC命令行添加一个标志

对于注册免费的COM工作,我想嵌入清单作为Win32资源。因此,我需要将/win32res:blah.res传递给用于构建DLL的csc命令行。我可以用预生成事件生成.res文件。

但我无法做到这一点。我听起来完全疯了,但似乎没有简单的方法将自定义标志传递给csc。我意识到.csproj文件是MSBuild文件,我想有一个简单方法来修改它以满足我的需要,但我找不到任何相关的东西(这让我发疯)。

+0

你有没有尝试从这里的Win32Resource:http://msdn.microsoft.com/en-us/library/s5c8athz.aspx? –

+0

@MarcGravell:intellisense(和用于MsBuild项目的DTD)表示应该使用Win32ResourceFile,它不起作用。我会检查Win32Resource。 –

+0

@MarcGravell:奇怪的是,它与'Win32Resource'一起使用,即使智能感应器都是红色的。你可以把这个作为答案,我会很高兴upvote。 –

回答

2

该选项在IDE中公开。项目+属性,应用程序选项卡,资源文件选项。

但是不要这样做,你会遇到嵌入到程序中的常规清单的麻烦。使用项目+添加新项目,应用程序清单文件。编辑该文件以添加regfree COM条目。

+0

这是否包含文件作为Win32资源或.NET资源? (或者是否有区别?) –

+0

Win32资源,如“/ win32res”强烈建议。是的,文件中有很大的差异,非常不同的格式和位置。 Windows只能读取win32资源。您可以使用File + Open + File查看它们,然后选择.exe –