C# 生成在发布模式下使用TextTemplatingSession的.NET时出现问题
我在一个项目中使用了以下内容:C# 生成在发布模式下使用TextTemplatingSession的.NET时出现问题,c#,.net,visual-studio,C#,.net,Visual Studio,我在一个项目中使用了以下内容: var template = Activator.CreateInstance<DtoTemplate>(); var session = new Microsoft.VisualStudio.TextTemplating.TextTemplatingSession { ["entityInfo"] = entityInfo }; template.Session = session; template.Initialize();
var template = Activator.CreateInstance<DtoTemplate>();
var session = new Microsoft.VisualStudio.TextTemplating.TextTemplatingSession {
["entityInfo"] = entityInfo
};
template.Session = session;
template.Initialize();
var template=Activator.CreateInstance();
var会话=新建Microsoft.VisualStudio.TextTemplating.TextTemplatingSession{
[“entityInfo”]=entityInfo
};
template.Session=会话;
初始化();
如果我在调试模式下构建,所有功能都可以正常工作,但在发布模式下,我得到以下结果:
严重性代码说明项目文件行抑制状态
错误CS0246无法输入类型或命名空间名称“TextTemplatingSession”
找不到(是否缺少using指令或程序集
参考?)
我的项目:
两个引用都标记为“复制本地”
有什么想法吗?提前感谢。请使用方向用
显示块这看起来像是引用缺少本地副本,文件不可用。许可证发放情况如何?是否允许分发此库,或者必须安装visual studio?该库是.NET Framework的一部分。我试图创建一个简单的代码生成工具,自己使用,而不是分发它。如果我用调试模式编译,它可以正常工作。问题是在释放模式下。这两个引用都标记为“复制本地”。调试和发布文件夹中是否有所有相同的DLL?试着做一个干净的构建。我认为您手动放入调试文件夹的DLL之一。您应该使用添加现有的,这将把dll作为一个包含。您可以用记事本打开csproj,检查是否正确添加了丢失的dll。是的,如果我将这些dll复制并粘贴到发布文件夹中,这些dll可以正常工作,但为什么我必须手动执行?当我在调试模式下构建时,它不是必需的。谢谢