/ linkresource是一个csc选项,允许将程序集链接到其非托管依赖项.将托管程序集添加到GAC时,依赖项将放在同一文件夹中.这就是所有.NET包装器应该安装的方式......
关于如何在Visual Studio中执行此操作的信息非常少.没有正式答案,只有那些破解解决方案的人.例如http://www.netframeworkdev.com/msbuild/msbuild-linkresource-nonassembly-external-file-beforecompile-24358.shtml.这曾经在VS2008上工作,但看起来它在VS2010上不起作用......: - /
VS2010是否以简单干净的方式支持LinkResources?
在此先感谢,aalmada
我一直在使用Wix 3.5和WixVSExtension来安装Visual Studio 2010,Visual C#2010 Express和Visual Web Developer 2010 Express的项目模板.我现在想添加对Visual Studio 11 Beta的支持.
我添加了注册表搜索和自定义操作来查找VS11安装文件夹但是,在指定目录和组件结构时,我遇到了类似这样的编译错误:
错误LGHT0204:ICE30:目标文件'ewa5nwrn.zip | BasicApplication.zip'由LFN系统上的两个不同组件安装在'[TARGETDIR]\CSharp \'中:'VS2010CSharpProjectTemplates'和'VS11CSharpProjectTemplates'.这会破坏组件引用计数.
我有这个目录结构:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="VS2010_PROJECTTEMPLATES_DIR">
<Directory Id="VS2010_PROJECTTEMPLATES_CSHARP_DIR" Name="CSharp">
</Directory>
</Directory>
<Directory Id="VS11_PROJECTTEMPLATES_DIR">
<Directory Id="VS11_PROJECTTEMPLATES_CSHARP_DIR" Name="CSharp">
</Directory>
</Directory>
</Directory>
Run Code Online (Sandbox Code Playgroud)
请注意,我在TARGETDIR中有VS2010_PROJECTTEMPLATES_DIR和VS11_PROJECTTEMPLATES_DIR.错误消息显示它们被忽略.
组件定义如下:
<DirectoryRef Id="VS2010_PROJECTTEMPLATES_CSHARP_DIR">
<Component Id="VS2010CSharpProjectTemplates" Guid="{0976A222-8243-40F2-81AB-84D8F1771840}" Transitive="yes">
<File Id="VS2010BasicApplication" Source="BasicApplication.zip" />
</Component>
</DirectoryRef>
<DirectoryRef Id="VS11_PROJECTTEMPLATES_CSHARP_DIR">
<Component Id="VS11CSharpProjectTemplates" Guid="{A70428F1-AE26-4B07-9F58-D67587B44657}" Transitive="yes">
<File Id="VS11BasicApplication" Source="BasicApplication.zip" />
</Component>
</DirectoryRef>
Run Code Online (Sandbox Code Playgroud)
是否可以将同一文件安装到属性指定的两个不同目录中?
在此先感谢,aalmada